1. 程式人生 > 實用技巧 >STM32-LED閃燈

STM32-LED閃燈

main.c 程式段

#include "stm32f10x.h" //STM32標頭檔案
#include "sys.h"
#include "delay.h"
#include "led.h" 


int main (void){//主程式
    RCC_Configuration(); //時鐘設定
    LED_Init();
    while(1){
        
        //方法1:
//        GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1)); //LED1介面輸出高電平1
//        delay_us(50000); //延時1秒
//        GPIO_WriteBit(LEDPORT,LED1,(BitAction)(0)); 
//LED1介面輸出低電平0 // delay_us(50000); //延時1秒 //方法2: // GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1-GPIO_ReadOutputDataBit(LEDPORT,LED1))); //取反LED1 // delay_ms(500); //延時1秒 //方法3: GPIO_SetBits(LEDPORT,LED1); //LED燈都為高電平(1) delay_s(1); //延時1秒 GPIO_ResetBits(LEDPORT,LED1); //
LED燈都為低電平(0) delay_s(1); //延時1秒 //方法4 // GPIO_Write(LEDPORT,0x0001); //直接數值操作將變數值寫入LED // delay_s(2); //延時1秒 // GPIO_Write(LEDPORT,0x0000); //直接數值操作將變數值寫入LED // delay_s(2); //延時1秒 } }
#ifndef __LED_H
#define __LED_H     
#include "sys.h"

//#define LED1 PBout(0)// PB0
//#define LED2 PBout(1)
// PB1 #define LEDPORT GPIOB //定義IO介面 #define LED1 GPIO_Pin_0 //定義IO介面 #define LED2 GPIO_Pin_1 //定義IO介面 void LED_Init(void);//初始化 #endif

led.h標頭檔案 程式段

函式用法可參考韌體函式庫庫資料手冊

方法1:

函式GPIO_WriteBit

法2:迴圈取反,1-0=1,1-1=0,1-0=1.。。。。。。。

法3:

GPIO_WriteBit

法4:GPIO埠寫值

 GPIO_Write