本節我們主要是從下面4個(gè)方面進(jìn)行講解: 1.準備工作 2.硬件部分 3.軟件部分 4.效果展示 一、準備工作 1.電腦一臺; 2.已經(jīng)安裝好了MDK; 3.已經(jīng)安裝了nRF51_sdk軟件; 4.已經(jīng)安裝了nrfgostudio_win-32; 5.以上已經(jīng)確定安裝成功了; 6.藍牙開(kāi)發(fā)板。 二、硬件部分 nRF51822 是 cortex m0 內核, 其串口通信也和其他的cortex m0 內核的處理器相同。并且在官方代碼里給出了 uart 的參數配置庫函數代碼,這樣使用起來(lái)非常容易上手。硬件連接如下圖所示: 1.LED燈的硬件部分 2.串口的硬件部分 如下圖所示: 青云 QY-nRF51822 開(kāi)發(fā)板上,通過(guò)高質(zhì)量的芯片 CP2102 實(shí)現 usb 轉串口,下面是 nrf51822的芯片串口管腳分配: 管腳 P0.08 連接 CTS 管腳 P0.09 連接 TXD 管腳 P0.10 連接 RTS 管腳 P0.11連接 RXD, 3.按鍵的硬件部分 如下圖所示,用戶(hù)按鍵有兩個(gè):Button0和Button1。 4.RTC硬件部分。如下圖所示: RTC硬件引腳為P0.26和P0.27,外接低速外部晶振32.768kHz。 三、軟件部分 1.有了前面一節的基礎,那下面就比較簡(jiǎn)單了,我們只需要編寫(xiě)主函數和按鍵接口函數即可。 2.主要包括下面3個(gè)文件:main.c、rtc.c和rtc.h。如下圖所示 3.主函數部分。如下圖所示: 4.RTC源文件。如下圖所示: 5.RTC驅動(dòng)頭文件。如下圖所示: 四、效果展示 下面是下載之后效果驗證,串口通信顯示正常,RTC計數時(shí)間125ms控制led翻轉一次,翻轉24次接近3000ms,也就是3s的時(shí)候進(jìn)行模擬比較報警,報警控制另一個(gè)led燈點(diǎn)亮報警。如下圖所示: |