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