BÀI 02 : GPIO VỚI STM32F1.


  1. Sơ lược về lý thuyết.
  2. GPIO là từ viết tắt của General purpose I/O ports tạm hiểu là nơi giao tiếp chung giữa tín hiệu ra và tín hiệu vào. GPIO là bài cơ bản, cần nắm vững khi học bất kì một VĐK nào đó. Cần hiểu được các thuật ngữ, chế độ, cấu hình, số lượng… của các chân GPIO. Ở STM32 thì các chân GPIO chia ra làm nhiều Port vd: PortA, PortB….. Số lượng Port phụ thuộc vào số lượng chân(pin) và cách gọi phụ thuộc vào nhà sản xuất(ví dụ VĐK X có PortA mà lại không có PortD). Mỗi Port thường có 16 chân đánh số từ 0 -> 15 tương ứng với mỗi chân là 1bit. Mỗi chân có 1 chức năng khác nhau như analog input, external interrupt.. hay đơn thuần chỉ là xuất tín hiệu on/off ở mức 0,1. Chức năng của mỗi chân thì chúng ta cần tra datasheet của nhà sản xuất trước khi lập trình hoặc thiết kế mạch.

    Các tính mode GPIO của STM32:

    • Input floating : cấu hình chân I/O là ngõ vào và để nổi.
    • Input pull-up : cấu hình chân I/O là ngõ vào, có trở kéo lên nguồn.
    • Input-pull-down: cấu hình chân I/O là ngõ vào, có trở kéo xuống GND.
    • Analog : cấu hình chân I/O là Analog, dùng cho các mode có sử dụng ADC hoặc DAC.
    • Output open-drain: cấu hình chân I/O là ngõ ra, khi output control = 0 thì N-MOS sẽ dẫn, chân I/O sẽ nối VSS, còn khi output control = 1 thì P-MOS và N-MOS đều không dẫn, chân I/O được để nổi.
    • Output push-pull: cấu hình chân I/O là ngõ ra, khi output control = 0 thì N-MOS sẽ dẫn, chân I/O sẽ nối VSS, còn khi output control = 1 thì P-MOS dẫn, chân I/O được nối VDD.