★ 可以直接複製貼上到 C 語言開發環境中,此程式碼可以直接編譯執行(只要你配置好開發環境與硬體)。
// 如果要做切換也可以使用:GPIO_ToggleBits(GPIOD, GPIO_Pin_12);
# include "stm32f4xx.h"
int t = 1000000;
void delay(int t2){
int i = 0;
for(; i < t2; i++);
}
int main(void){
GPIO_InitTypeDef g;
g.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15; // 指定 12,13,14,15 腳
g.GPIO_Mode = GPIO_Mode_OUT; // 設定針腳為輸出
//g.GPIO_PuPd = GPIO_PuPd_UP; // 使用上拉電阻
//g.GPIO_PuPd = GPIO_PuPd_DOWN; // 使用下拉電阻
g.GPIO_Speed = GPIO_Speed_100MHz; // 指定 GPIO 頻率為100 MHz
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); // 啟用 GPIOD
GPIO_Init(GPIOD, &g); // 初始化 GPIO D
while(1){
GPIO_SetBits(GPIOD,GPIO_Pin_12); // 設定12腳為高電位
delay(t); // 延遲
GPIO_ResetBits(GPIOD,GPIO_Pin_12); // 設定 12 腳為低電位
GPIO_SetBits(GPIOD,GPIO_Pin_13);
delay(t);
GPIO_ResetBits(GPIOD,GPIO_Pin_13);
GPIO_SetBits(GPIOD,GPIO_Pin_14);
delay(t);
GPIO_ResetBits(GPIOD,GPIO_Pin_14);
GPIO_SetBits(GPIOD,GPIO_Pin_15);
delay(t);
GPIO_ResetBits(GPIOD,GPIO_Pin_15);
}
}