★ 可以直接複製貼上到 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);
    }
}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 黃彥霖 的頭像
    黃彥霖

    彥霖 實驗筆記

    黃彥霖 發表在 痞客邦 留言(2) 人氣()