一起学nRF51xx 23 - s130蓝牙API介绍
張十三
前言
通過前面的章節(jié),我們學(xué)習(xí)了nrf51的藍牙協(xié)議棧(S130)的基本使用,對S130協(xié)議棧的實現(xiàn)原理有了一定了解,也認識到了S130協(xié)議棧的強大,那么協(xié)議棧中的API接口具體是什么功能?各個參數(shù)代表著什么意思?具體怎么用呢?本節(jié)將帶領(lǐng)大家去尋找答案。
示例詳解
本節(jié)以S130藍牙協(xié)議棧為例,進入Nordic官網(wǎng)https://www.nordicsemi.com,找到product-> Low power short-range wireless -> nrf51822 bluetooth le capable soc.進入到NRF51822主頁https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF51822。
在主頁中可以看到NRF51822支持的藍牙協(xié)議棧支持S110,S120,S130三個,在主而中點Compatible Downloads(兼容的下載):
?
并在網(wǎng)頁尾部點擊下載按鍵就可下載S130藍牙協(xié)議及SDK(包含了大量的官方例程)了。
?
在SDK的解壓文件中\(zhòng)nRF5SDK1230\nRF5_SDK_12.3.0_d7731ad\components\softdevice也可以看到S130協(xié)議棧:
同時在\nRF5SDK1230\nRF5_SDK_12.3.0_d7731ad\examples\ble_peripheral文件夾下還有很多nordic的藍牙官方例程,很多藍牙應(yīng)用就可以基本這些官方例程進行簡單修改即可。
我們回到s130nrf51201\s130_nrf51_2.0.1_API\include文件夾下可以看到S130的藍牙API接口頭文件如下圖(也不是很多):
以ble.h為例,里面有一些數(shù)據(jù)類型的定義及SVC接口函數(shù)的定義,函數(shù)說明:
像sd_ble_enable一樣,協(xié)議棧中所有的接口都有詳細的介紹與說明,并且按不同的功能分成了多個.h文件:
因為API接口數(shù)量較多,本文不可能一一給大家展開介紹,本文將授之以漁,給大家直接介紹學(xué)習(xí)方法:讀者有學(xué)習(xí)過程中可以nrf_sdk中官方例程為基礎(chǔ),對例程中用到協(xié)議棧接口(主要是以sd_開頭的)都可以到協(xié)議接接口API頭文件中找到對應(yīng)的說明(使用KEIL工無法直接跳轉(zhuǎn),但可以通過全局搜索來定位到函數(shù)說明或者用Source Insight等其它工具來閱讀),對于像筆者一樣英語水平比較有限的同學(xué)來說,可以直接將接口頭文件拖入到Chrome瀏覽器中,利用Chrome自帶的翻譯功能將文件翻譯成中文件,效果如下:
?
這個大家是不是就可以很容易看懂這些(總的100多個)接口API,最后在S130協(xié)議棧的文件夾中還有如下兩個文件,建議大家也去看一下,這對大家學(xué)習(xí)整個藍牙協(xié)議棧會有幫助:
最后,還需要大家的不斷努力學(xué)習(xí),才能在實際的工程應(yīng)用中將這個藍牙協(xié)議棧應(yīng)用的得心應(yīng)手!!
?
文中源碼資料下載,在公眾號里給十三發(fā)消息:
下載|一起學(xué)nRF51xx 23
?
關(guān)注十三公眾號
?
總結(jié)
以上是生活随笔為你收集整理的一起学nRF51xx 23 - s130蓝牙API介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一起学nRF51xx 22 - 实现一
- 下一篇: STM32 电机教程 5 - 步进电机基