STM32通過按鍵控制LED燈示例

2021-10-24 17:05:02 字數 1113 閱讀 1527

stm32f407ze 通過按鍵控制led燈示例,要求:

①按鍵按下 d1亮 按鍵鬆開 d1滅

②按鍵按下一次 d1亮 按鍵再按下一次 d1滅 ----(按鍵每按下一次d1實現翻轉)

需要注意的是按鍵需用到延時消抖,延時時長按實際進行修改,檢測按鍵按下與鬆開應該使用標誌位等區分,如果只是通過讀取按鍵返回值判斷,在while迴圈裡可能會對同乙個led燈多次操作。

#include

void

delay_ms

(int ms)

//延時函式

void

led_init()

void

key_init()

intmain()

}}if(

gpio_readinputdatabit

(gpioa,gpio_pin_0)==1

)//判斷key1是否被鬆開

key1 =1;

//標誌位置1if(

gpio_readinputdatabit

(gpioe,gpio_pin_2)==0

)//判斷key2是否被按下}if

(gpio_readinputdatabit

(gpioe,gpio_pin_2)==1

)//判斷key2是否被鬆開

key2 =1;

//標誌位置1if(

gpio_readinputdatabit

(gpioe,gpio_pin_3)==0

)//判斷key3是否被按下}}

if(gpio_readinputdatabit

(gpioe,gpio_pin_3)==1

)//判斷key3是否被鬆開

key3 =1;

//標誌位置1if(

gpio_readinputdatabit

(gpioe,gpio_pin_4)==0

)//判斷key4是否被按下}if

(gpio_readinputdatabit

(gpioe,gpio_pin_4)==1

)//判斷key4是否被鬆開

key4 =1;

//標誌位置1

}}

STM32 通過按鍵控制小燈 蜂鳴器

硬體設計 key0連線pe4上 低電平有效 設定成上拉電阻 0時代表被按下 key1在pe3上 低電平有效 設定成上來電阻 0時代表被按下 key up在pa0上 高電平有效 設定成下拉電阻 1時代表被按下 三個按鍵都沒有上拉何下拉電阻所有需要在內部設定上下拉電阻 軟體設計 gpio初始化 相應的按...

STM32入坑(五)按鍵控制LED小燈

名稱 按鍵控制led小燈 功能 key0控制led小燈,按鍵按一次燈亮,再按一次燈滅 硬體資源 stm32開發板 按鍵 led燈 如圖,當配置按鍵key0為上拉輸入,掃瞄按鍵的狀態時,為高電平。當我們手動按下按鍵key0時,按鍵和gnd接通,再掃瞄按鍵key0時則為低電平。上述就是按鍵的原理,如果掃...

STM32外部中斷(實現按鍵控制LED)

中斷 這個概念,指的是在微控制器執行過程中,在指定條件發生時,停下當前所有工作,去執行中斷處理函式內的內容。就像我們在教室上課時,突然 了,不出意外的話我們都需要停下手中學習任務,去進行一系列的避險動作。這一節我們通過中斷的方式,完成通過按鍵控制led亮滅的操作。stm32的中斷控制器支援19個外部...