Chào các bạn,
Khi cấu hình một pin trên mạch ARM dùng phần mềm CCS, mình đọc datasheet thấy 1 đoạn như dưới đây:
GPIOPadConfigSet(uint32_t ui32Port, uint8_t ui8Pins, uint32_t ui32Strength, uint32_t ui32PinType)
Tham số ui32PinType được chọn từ các giá trị sau:
GPIO_PIN_TYPE_STD
GPIO_PIN_TYPE_STD_WPU
GPIO_PIN_TYPE_STD_WPD
GPIO_PIN_TYPE_OD
GPIO_PIN_TYPE_ANALOG
GPIO_PIN_TYPE_WAKE_HIGH
GPIO_PIN_TYPE_WAKE_LOW

Cho mình hỏi: với mỗi chế độ trên thì có chức năng gì? Mình khó hiểu nhất là khái niệm push-pull, open-drain, weak pull up/down.
Mình là amateur, search google nhưng đọc không hiểu lắm. Mong các bro cắt nghĩa sao cho dễ hiểu dùm mình với. Cảm ơn nhiều!