【輕松玩藍牙】序列之12:定時器中斷
本節我們主要是從下面4個方面進行講解:
1.準備工作
2.硬件部分
3.軟件部分
4.效果展示
一、準備工作
1.電腦一臺;
2.已經安裝好了MDK;
3.已經安裝了nRF51_sdk軟件;
4.已經安裝了nrfgostudio_win-32;
5.以上已經確定安裝成功了;
6.藍牙開發板。
二、硬件部分
nRF51822 是 cortex m0 內核, 其串口通信也和其他的cortex m0 內核的處理器相同。并且在官方代碼里給出了 uart 的參數配置庫函數代碼,這樣使用起來非常容易上手。硬件連接如下圖所示:
1.LED燈的硬件部分

2.串口的硬件部分
如下圖所示: 青云 QY-nRF51822 開發板上,通過高質量的芯片 CP2102 實現 usb 轉串口,下面是 nrf51822的芯片串口管腳分配:
管腳 P0.08 連接 CTS
管腳 P0.09 連接 TXD
管腳 P0.10 連接 RTS
管腳 P0.11連接 RXD,


3.按鍵的硬件部分
如下圖所示,用戶按鍵有兩個:Button0和Button1,按鍵掃描用到了Button0按鍵,主要是通過外部按鍵中斷來控制LED3的翻轉,當按下時,LED3亮,再按一次LED3滅。


三、軟件部分
1.有了前面一節的基礎,那下面就比較簡單了,我們只需要編寫主函數和按鍵接口函數即可。
2.主要包括下面3個文件:main.c、time.c和time.h。如下圖所示

3.主函數部分。如下圖所示:


4.定時器中斷源文件。如下圖所示:




5.定時器中斷驅動頭文件。如下圖所示:


四、效果展示
下面是下載之后效果驗證,串口通信顯示正常,LED1、LED2、LED3都是通過定時器來控制的,定時時間為1s。如下圖所示:





可控硅相關文章:可控硅工作原理
評論