一起学nRF51xx 20 - 移植SDK蓝牙例程
前言
Nordic公司為nRF51系列SOC提供有完整的開發SDK包,里面有大量的例程,通過學習官方例程并最終應用到自己項目工程中是一個比較高效的學習與項目開發技巧,本節將與大家一起完成藍牙例程的移植工作,本節以S130 SDK為例 ,在移植前需先往開發板中燒錄藍牙協議棧“s130_nrf51_2.0.0_softdevice.hex”,相關的燒錄操作請參看《一起學nRF51xx 18 -? 藍牙協議棧燒錄》章節內容。
本示例基于nrf51822 soc,sdk版本是nRF5_SDK_11.0.0_89a8197,網官網下載地址為:https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK/Download#infotabs
?
示例詳解
基于硬件平臺:nrf51822ek_tm開發板。
?
本示例所用的最小系統板原理圖:
?
?
?
本節直接以PCA10028官方開發板工程為基礎時行修改:
下圖中一些文件上有紅色可升級標志,右鍵將其升級為最新版本:
在工程配置選項中將芯片型號選為我們開發板中的NRF51822及工程輸出文件名稱,注意改完芯片后記得重新設置IROM1及IRAM1的值 :
?
調整工程主目標名稱:
在工程配置選項中將C/C++宏中的開發板名字由BORD_PCA10028改成BOARD_CUSTOM,當然事先需仿照“PCA10028.h“文件針對實際所用的開發板創建“custom_board.h”文件,并將其放到\nRF5_SDK_11.0.0_89a8197\examples\bsp目錄中:
上圖中的宏有BLE_STACK_SUPPORT_REQD、BOARD_CUSTOM、 S130、 NRF_LOG_USES_UART=1、NRF51、SOFTDEVICE_PRESENT、SWI_DISABLE0
其中 BLE_STACK_SUPPORT_REQD、BOARD_CUSTOM、130 三個在本例中是必需的。
調試工具選擇J-LINK,并將接口設置為SW口勾選下載程序后自動復位及運行:
?
?
(開發板事先已燒錄了S130藍牙協議棧)打開發板的串口接上PC,并打開電腦上的串口調試助手工具,連接上串口后,把程序燒錄到開發板,可以看串口工具中看到UART START字樣,說明程序成功運行,并且打開手機藍牙查找設備,可以看到有個Nordic_Uart設備。
在手機應用市場中下載Nordic ToolBox工具并安裝,打開
點“UART”進入后, 會發現有 9 個按鍵。 這 9 個按鍵的圖標我們可以自行設定。而且,可以設定當點擊這些圖標的時候 APP 發送的數據內容。點“EDIT”,進入按鍵圖標編輯和發送內容的編輯。
編輯完以后, 點“DONE”退出設置界面。點擊 “CONNECT”連接, 會搜到名為“Nordic UART”的藍牙設備。 點擊后建立連接,然就可以按上面定義好的按鍵,在PC上串口工具可以看到相關的數據:
同時PC串口工具上發數據,手機端的APP同樣也可以收到對應的數據(發大于20字節或帶換行符,程序立即轉發),如下圖所示:
手機上成功接收到數據:
????? 到這里基于官方sdk的藍牙工程移植工作就基本完成了,是不是也很簡單呢!關于nrf51xx及flash的更詳細介紹可以參看《nRF51822_PS_v3.3.pdf》或https://infocenter.nordicsemi.com/index.jsp。
?
OK,本期實驗完成!下期見!同時如果大家有什么疑問或是有想了解的其它內容,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,會有不定期技術干貨推出!!
文中源碼資料下載,在公眾號里給十三發消息:
下載|一起學nRF51xx 20
?
關注十三公眾號
?
總結
以上是生活随笔為你收集整理的一起学nRF51xx 20 - 移植SDK蓝牙例程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一起学nRF51xx 19 - 移植S
- 下一篇: stm32 usart 单线半双工串口