Bai2_GPIO : chương trình đảo trạng thái đầu ra của Buzzer trên Kit mở rộng khi nút ấn trên kit được nhấn nút B5 trên Kit mở rộng STM32F401.
+ Trỏ chuột vào project và ấn chuột phải.
+ Chọn Properties → C/C++ Genaral → Path and Symbols → Source
Location → Link Folder → chọn tích Link to folder in the system → chọn Browse để chọn đến file SDK_1.0.3_NUCLEO-F401RE và nhấn OK.
Bước 4: Sau khi đã thêm thư viện SDK_1.0.3_NUCLEO-F401RE, các bạn cần phải tạo đường dẫn đến thư mục.
+ Trỏ chuột vào project và ấn chuột phải.
+ Chọn Properties → C/C++ Build → Setting → Tool Setting → Include
paths trong MCU GCC Compiler → chọn Add → chọn Workspace… và chọn các đường dẫn sau:
1. SDK_1.0.3_NUCLEO-F401RE/shared/Drivers/CMSIS/Include
2. SDK_1.0.3_NUCLEO-F401RE/shared/Drivers/STM32F401RE_StdPe riph_Driver/inc
3. SDK_1.0.3_NUCLEO-F401RE/shared/Middle/button
4. SDK_1.0.3_NUCLEO-F401RE/shared/Middle/rtos
5. SDK_1.0.3_NUCLEO-F401RE/shared/Middle/serial
6. SDK_1.0.3_NUCLEO-F401RE/shared/Middle/buzzer
7. SDK_1.0.3_NUCLEO-F401RE/shared/Middle/led
8. SDK_1.0.3_NUCLEO-F401RE/shared/Middle/sensor
9. SDK_1.0.3_NUCLEO-F401RE/shared/Middle/ucglib
10. SDK_1.0.3_NUCLEO-F401RE/shared/Utilities
Trong Properties → C/C++ Build → Setting → Tool Setting → Libraries trong MCU GCC Linker → chọn Add… trong Libraries(-l) → viết Libraries và Add… trong Library search paths (-L) thêm đường dẫn sau: SDK_1.0.3_NUCLEO-F401RE\lib_stm

● Khai báo biến thuộc kiểu dữ liệu struct GPIO.
● Cấp xung clock hoạt động cho Port A.
● Chọn chân sử dụng với chức năng điều khiển Led.
● Chọn chân điều khiển led ở chế độ Output.
● Tốc độ xử lý trên chân là 50MHz.
● Chọn chế độ là đẩy kéo Push Pull.
● Trạng thái ban đầu trên chân là kéo xuống GND Pull Down.
● Khởi tạo tất cả các giá trị bên trên bằng cách sử dụng hàm GPIO_Init với
đối số truyền vào là GPIOA và GPIO_InitStructure

● Khai báo biến thuộc kiểu dữ liệu struct GPIO.
● Cấp xung Clock hoạt động cho Port B.
● Chọn chân sử dụng làm chức năng nút ấn.
● Chọn chế độ trên chân GPIO là Input.
● Tốc độ xử lý là 50MHz.
● Trạng thái kéo trở lên nguồn +3.3V (Pull Up).
● Khởi tạo tất cả các giá trị bên trên bằng cách sử dụng hàm GPIO_Init với
đối số truyền vào là GPIOB và GPIO_InitStructure


Bước 11: Trong hàm While(1), thực hiện thuật toán đảo trạng thái Buzzer khi được ấn nút trên Kit mở rộng
