Trở kháng cao: không có dòng nhưng chân có thể đọc được điện áp
GPIO Input
- Floating: ở trạng thái mặc định nó có trở kháng cao (không cho dòng điện đi ra), giá trị pin đọc được phụ thuộc giá trị đầu vào tác động từ bên ngoài. Tiêu thụ năng lượng điện của mạch rất nhỏ, hữu ích khi đọc cảm biến (analog input)
- Input Pull-up: dùng điện trở kéo lên Vcc, mặc định nó đọc về mức 1, bảo vệ vi điều khiển

- Input Pull-down: dùng điện trở kéo xuống GND, mặc định nó đọc về mức 0, bảo vệ vi điều khiển

GPIO Output
- Open-drain: P-MOS luôn ngưng dẫn
- Đặt logic 0 cho giá trị thanh ghi thì N-MOS dẫn, đầu ra của pin = 0
- Đặt logic 1 cho giá trị thanh ghi thì N-MOS ngưng dẫn, đầu ra của pin sẽ ở mức trở kháng cao Hi-Z (Không có dòng đi vào/đi ra .Khi nhiều thiết bị dùng chung đường bus, thiết bị nào không nói chuyện thì chân của nó để ở Hi-Z, nhường cho thiết bị khác dùng đường bus). Cần kết hợp điện trở ngoài để kéo lên Vcc (mức 1)
- Dòng ra yếu hơn Push-Pull, cần điện trở ngoài
- Được dùng khi điều khiển nhiều thiết bị tiêu thụ dòng với chỉ 1 vi điều khiển, kèm thiết kế trở treo bên ngoài.
- Ứng dụng yêu cầu mạch drives (bus I2C,...)
- Push-Pull: Cả P-MOS và N-MOS đều được dùng
- Đặt logic 0 cho giá trị thanh ghi thì N-MOS dẫn và P-MOS ngưng dẫn, đầu ra của pin = 0
- Đặt logic 1 cho giá trị thanh ghi thì N-MOS ngưng dẫn và P-MOS dẫn, đầu ra của pin = 1
- Thường được dùng hơn với on/off, PWM, LED
- Dòng ra mạnh
Alternate Function: 1 chân GPIO có thể được kết nối với các ngoại vi bên trong như UART, SPI, I2C, PWM, ADC,...