【輕松玩藍牙】序列之11:按鍵中斷
本節(jié)我們主要是從下面4個方面進行講解:
本文引用地址:http://m.butianyuan.cn/article/269801.htm1.準備工作
2.硬件部分
3.軟件部分
4.效果展示
一、準備工作
1.電腦一臺;
2.已經安裝好了MDK;
3.已經安裝了nRF51_sdk軟件;
4.已經安裝了nrfgostudio_win-32;
5.以上已經確定安裝成功了;
6.藍牙開發(fā)板。
二、硬件部分
nRF51822 是 cortex m0 內核, 其串口通信也和其他的cortex m0 內核的處理器相同。并且在官方代碼里給出了 uart 的參數(shù)配置庫函數(shù)代碼,這樣使用起來非常容易上手。硬件連接如下圖所示:
1.LED燈的硬件部分
2.串口的硬件部分
如下圖所示: 青云 QY-nRF51822 開發(fā)板上,通過高質量的芯片 CP2102 實現(xiàn) usb 轉串口,下面是 nrf51822的芯片串口管腳分配:
管腳 P0.08 連接 CTS
管腳 P0.09 連接 TXD
管腳 P0.10 連接 RTS
管腳 P0.11連接 RXD,
3.按鍵的硬件部分
如下圖所示,用戶按鍵有兩個:Button0和Button1,按鍵掃描用到了Button0按鍵,主要是通過外部按鍵中斷來控制LED3的翻轉,當按下時,LED3亮,再按一次LED3滅。
三、軟件部分
1.有了前面一節(jié)的基礎,那下面就比較簡單了,我們只需要編寫主函數(shù)和按鍵接口函數(shù)即可。
2.主要包括下面3個文件:main.c、exit.c和exit.h。如下圖所示
3.主函數(shù)部分。如下圖所示:
4.外部中斷源文件。如下圖所示:
5.外部中斷驅動頭文件。如下圖所示:
四、效果展示
下面是下載之后效果驗證,LED燈進行翻轉說明系統(tǒng)在運行,串口通信顯示正常,按下Button0時LED3會亮,再按下Button0時LED3會滅。如下圖所示:
評論