|
今天研究了一天按鍵檢測,終于弄出來了,分享一下學(xué)習(xí)歷程,菜鳥編寫,愿與大家共同討論不足之處
說明:
程序使用的是普中 PZ6806L 開發(fā)板,本人也是菜鳥一個(gè),剛學(xué) STM32 沒多久,本人愿將學(xué)習(xí)經(jīng)驗(yàn)與大家分享,程序多有不足之處,敬請諒解!
程序中的 LED0 就是硬件上的 LED1
經(jīng)驗(yàn)總結(jié):1、定義函數(shù)的時(shí)候要寫參數(shù)類型,就算沒有參數(shù),也要寫 void,如果不寫的話在頭文件聲明函數(shù)的時(shí)候會(huì)警告。2、按鍵檢測時(shí),如果引腳外部有上拉電阻時(shí),如 KEY_UP,
則引腳要配置成下拉輸入模式(下拉電阻好像是 40K) ,檢測按下為高電平;如果直接接地,如 K1、K2、K3,則要配置成上拉輸入模式,檢測按下為低電平,具體原因可以查看芯片內(nèi)
部電路框圖
硬件連接圖:
0.png (184.05 KB, 下載次數(shù): 42)
下載附件
2017-11-15 21:17 上傳
0.png (239.21 KB, 下載次數(shù): 42)
下載附件
2017-11-15 21:17 上傳
單片機(jī)源程序如下:
- /********************************************************************************
- * file : main.c
- * author : GongWang
- * version : V1.0
- * date : 2017-11-12
- * Description : 用按鍵 KEY_UP控制 LED0,按一次對應(yīng)的 LED亮或滅
- ********************************************************************************/
- #include "stm32f10x.h"
- #include "led.h"
- #include "key.h"
- /*****************************************************************************
- * Function Name : main
- * Input : None
- * Output : None
- * Return : None
- * Description : 主函數(shù)
- ********************************************************************************/
- int main(void)
- {
- /*LED的引腳配置*/
- Led_Config();
- /*LED的初始化,高電平關(guān)*/
- Led_Iint();
- /*按鍵 KEY_UP 引腳配置*/
- Key_Config();
- while( 1 )
- {
- if(Key_Test() == true)
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
基于STM32固件庫KEY檢測.pdf
(193.7 KB, 下載次數(shù): 13)
2017-11-15 20:55 上傳
點(diǎn)擊文件名下載附件
菜鳥分享經(jīng)驗(yàn) 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|