★ 可以直接複製貼上到 C 語言開發環境中,此程式碼可以直接編譯執行(只要你配置好開發環境與硬體)。
GPIO 定義:
推挽式輸出:GPIO_Mode_Out_PP
開漏輸出: GPIO_Mode_Out_OD
上拉輸入: GPIO_Mode_IPU
下拉輸入: GPIO_Mode_IPD
浮空輸入: Mode_IN_FLOATING
本範例程式會讓 PB5 的 LED 閃爍發光
#include "stm32f10x.h"
void delay(int t){
int i = 0;
for(;i<t;i++);
}
int main(void){
GPIO_InitTypeDef g; // 宣告 GPIO 結構體
g.GPIO_Pin = GPIO_Pin_5; // 設定 針腳 5
g.GPIO_Mode = GPIO_Mode_Out_PP; // 設定為推挽式輸出
g.GPIO_Speed = GPIO_Speed_50MHz; // 設定GPIO 時鐘
// 復用 GPIOB (因為同一隻腳有許多功能,如 AD、GPIO、UART...,所以要明確指定該腳為GPIO)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_Init(GPIOB, &g); // 初始化 GPIOB 的 GPIO
while(1){
GPIO_ResetBits(GPIOB,GPIO_Pin_5); //輸出 0
delay(300000); // 延遲
GPIO_SetBits(GPIOB,GPIO_Pin_5); //輸出 1
delay(300000); // 延遲
}
}