1/0, wyjście TxD interfejsu UARTO albo wyjście sygnału PWM. Za wybór jednej z tych funkcji odpowiadają dwa bity w rejestrze PINSELO, 1 i 2. Na poniższym rysunku jest przedstawiony sposób wyboru funkcji linii P0.0.
PO.0/TxD0/PWMl
GPIO PO.O .
TxD0
PWM1
zabronione _
RESET:0x00000000
PINSELO Oznaczenie |
Stany |
Opis |
1:0 PO.O |
00 |
GPIO Port 0.0 |
01 |
TxD0 (UARTO) | |
10 |
PWM1 | |
11 |
zabronione |
Rys. 3. Rejestry PINSELO, PINSEL1, PINSEL2 umożliwiają wybór funkcji wyprowadzeń LPC2148. każde dwa bity rejestru zawierają kombinację bitów określających przeznaczenie wyprowadzenia
Linie portów P0.2, PO.3, PO. 11 i PO. 14 dla zapewnienia kompatybilności z interfejsem I2C mają wyjścia typu otwarty dren i nie są w pełni dwukierunkowe, dlatego w niektórych przypadkach wymagają podłączenia zewnętrznych rezystorów (tzw. podciągających) o wartości kilkunastu kQ do plusa napięcia zasilającego. Jeżeli linie portu są skonfigurowane jako wejściowe, port PO nie ma rezystorów podciągających, natomiast port PI jest wyposażony w wewnętrzne rezystory o wartości 60...300 k£2.
Podczas zerowania mikrokontrolera także zawartość rejestrów PINSEL jest zerowana. Oznacza to, że po włączeniu zasilania i po każdym zerowaniu wszystkie linie I/O działają jako port ogólnego przeznaczenia. W trybie GPIO konfiguracja każdej linii I/O jest zależna od stanu bitów w poniższych rejestrach:
• Rejestr IOODIR (port PO) i IOIDIR (port PI) umożliwiają wybór kierunku pracy wybranej linii I/O. Ustawienie bitu w tym rejestrze powoduje, że odpowiadająca mu linia I/O pełni rolę wyjścia, natomiast jego wyzerowanie powoduje, że wybrana linia pełni rolę wejścia.
• Rejestr IOOPIN oraz IOIPIN umożliwia odczytanie oraz ustawienie stanu wybranej linii I/O. W przypadku, gdy wybrany pin skonfigurowany jest jako wejściowy odczyt tego rejestru jest bezpośrednim odzwierciedleniem stanu sygnałów elektrycznych panujących na tym pinie, natomiast, gdy wybrana linia skonfigurowana jest jako wyjściowa, odczytanie tego rejestru powoduje jednocześnie odczytanie stanu wewnętrznych przerzutników portu i odzwierciedla stan w jakim znajduje się wybrana linia wyjściowa. Zapis do tego rejestru w przypadku gdy wybrana linia skonfigurowana jest jako