由淺入深藍牙40BLE協(xié)議棧開發(fā)攻略大全_第1頁
由淺入深藍牙40BLE協(xié)議棧開發(fā)攻略大全_第2頁
由淺入深藍牙40BLE協(xié)議棧開發(fā)攻略大全_第3頁
由淺入深藍牙40BLE協(xié)議棧開發(fā)攻略大全_第4頁
由淺入深藍牙40BLE協(xié)議棧開發(fā)攻略大全_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、本系列教程將聯(lián)合TI推出的CC254xSoC系列,解說從環(huán)境的搭建到藍牙發(fā)來深入學習藍牙4.0的開發(fā)過程。教程共分為六部分,本文為第五部分:4.0協(xié)議棧的開第五部分知識點:第二十一節(jié)DHT11溫濕度傳感器第二十二節(jié)藍牙協(xié)議棧之從機通訊第二十三節(jié)藍牙協(xié)議棧主從一體之主機通訊第二十四節(jié)OAD空中升級第二十五節(jié)SBL串口升級有關(guān)TI的CC254x芯片介紹,可點擊下面鏈接查察:主流藍牙BLE控制芯片詳解(1):TICC2540同系列資料介紹:由淺入深,藍牙4.0/BLE協(xié)議棧開發(fā)攻略大全(1)由淺入深,藍牙4.0/BLE協(xié)議棧開發(fā)攻略大全(2)由淺入深,藍牙4.0/BLE協(xié)議棧開發(fā)攻略大全(3)由淺入

2、深,藍牙4.0/BLE協(xié)議棧開發(fā)攻略大全(4)有關(guān)本文的工具下載,大家能夠到以下這個地點:朱兆祺ForARM第二十一節(jié)DHT11溫濕度傳感器DHT11簡介DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器,它應用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),保證產(chǎn)品擁有極高的可靠性和優(yōu)秀的長久穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相精選文庫連結(jié)。因此該產(chǎn)品擁有品質(zhì)優(yōu)秀、超快響應、抗攪亂能力強、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精準的濕度校驗室中進行校準。校準系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測型號的辦理過程中

3、要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡單快捷。超小的體積、極低的功耗,使其成為給類應用甚至最為苛刻的應用場合的最正確選擇。產(chǎn)品為4針單排引腳封裝,連結(jié)方便。技術(shù)參數(shù)供電電壓:3.35.5VDC輸出:單總線數(shù)字信號測量范圍:濕度20-90%RH,溫度050測量精度:濕度+-5%RH,溫度+-2分辨率:濕度1%RH,溫度1交換性:可完全交換,長久穩(wěn)定性:0)/顯示掃描到的設(shè)施/Incrementindexofcurrentresult(withwraparound)simpleBLEScanIdx+;if(simpleBLEScanIdx=simpleBLEScanRes)32精選文

4、庫simpleBLEScanIdx=0;LCD_WRITE_STRING_VALUE(“Device”,simpleBLEScanIdx+1,10,HAL_LCD_LINE_1);LCD_WRITE_STRING(bdAddr2Str(simpleBLEDevListsimpleBLEScanIdx.addr),HAL_LCD_LINE_2);if(keys&HAL_KEY_RIGHT)/右/Connectionupdateif(simpleBLEState=BLE_STATE_CONNECTED)/如果連結(jié),則更新連結(jié)GAPCentralRole_UpdateLink(simpleBLECo

5、nnHandle,DEFAULT_UPDATE_MIN_CONN_INTERVAL,DEFAULT_UPDATE_MAX_CONN_INTERVAL,DEFAULT_UPDATE_SLAVE_LATENCY,DEFAULT_UPDATE_CONN_TIMEOUT);if(keys&HAL_KEY_CENTER)/中間鍵33精選文庫uint8addrType;uint8*peerAddr;/Connectordisconnectif(simpleBLEState=BLE_STATE_IDLE)/安閑則連結(jié)/ifthereisascanresultif(simpleBLEScanRes0)/con

6、necttocurrentdeviceinscanresultpeerAddr=simpleBLEDevListsimpleBLEScanIdx.addr;addrType=simpleBLEDevListsimpleBLEScanIdx.addrType;simpleBLEState=BLE_STATE_CONNECTING;GAPCentralRole_EstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,DEFAULT_LINK_WHITE_LIST,addrType,peerAddr);LCD_WRITE_STRING(“Connecting”,HAL_

7、LCD_LINE_1);LCD_WRITE_STRING(bdAddr2Str(peerAddr),HAL_LCD_LINE_2);elseif(simpleBLEState=BLE_STATE_CONNECTING|/連結(jié)則斷開連結(jié)simpleBLEState=BLE_STATE_CONNECTED)34精選文庫/disconnectsimpleBLEState=BLE_STATE_DISCONNECTING;gStatus=GAPCentralRole_TerminateLink(simpleBLEConnHandle);LCD_WRITE_STRING(“Disconnecting”,H

8、AL_LCD_LINE_1);if(keys&HAL_KEY_DOWN)/下/StartorcancelRSSIpollingif(simpleBLEState=BLE_STATE_CONNECTED)/連結(jié)則讀取RSSi的值if(!simpleBLERssi)simpleBLERssi=TRUE;GAPCentralRole_StartRssi(simpleBLEConnHandle,DEFAULT_RSSI_PERIOD);elsesimpleBLERssi=FALSE;GAPCentralRole_CancelRssi(simpleBLEConnHandle);LCD_WRITE_STR

9、ING(“RSSICancelled”,HAL_LCD_LINE_1);35精選文庫因為從機一直處于廣播狀態(tài),所以秩序?qū)⑸弦还?jié)中的從機程序燒錄進開發(fā)板即可,然后將主機程序燒錄到其他一快開發(fā)板,經(jīng)過五向按鍵來實現(xiàn)和從機的連結(jié)和讀寫功能。1)上電提示從機上電提示:36精選文庫主機上電提示:37精選文庫(2)根據(jù)主機的按鍵功能,我們按“UP”鍵,開始搜尋周邊設(shè)施。搜尋完成后,能夠看到,掃描到了一個設(shè)施。(3)接著我們查察掃描到的設(shè)施地點,按左鍵。能夠看到掃描到的設(shè)施地點為0 x7C669D9F638A。這個地點正是我們的從機地點。4)按中間鍵連結(jié)從機,能夠看到主機提示連結(jié)成功,從機也提示連結(jié)成功。5

10、)接著我們開始讀取從機的RSSI值,按下鍵。38精選文庫6)再次按下鍵,取消RSSI值的讀取。7)對從機的CHAR1進行讀寫,再次按上鍵讀取到CHAR1的值為1。8)接著按上鍵,對CHAR1寫入0,同時看到從機提示CHAR1的值被改正為0。主機寫入成功:39精選文庫從機提示CHAR1被改變:40精選文庫上電自動連結(jié)上一節(jié)中我們經(jīng)過五向按鍵實現(xiàn)了主機連結(jié)從機的功能,這一節(jié)中們來實現(xiàn)主機上電后自動搜尋連結(jié)從機。要實現(xiàn)連結(jié),從機必須處于廣播狀態(tài),剩下的工作全部由主機完成,掃描、倡始連結(jié)。主機的狀態(tài)也有回調(diào)函數(shù),主機啟動后,第一個狀態(tài)是初始化,所以我們在初始化完成時開始掃描,這樣開機后主機就會開始掃描

11、周邊設(shè)施,接下來我們在掃描完成后對掃描到的設(shè)施倡始連結(jié)。41精選文庫將工程編譯下載后經(jīng)過串口助手察看主機和從機的輸出能夠發(fā)現(xiàn)主機上電后自動的完成了一系列的操作。第二十四節(jié)OAD空中升級經(jīng)過仿真器更新程序或許經(jīng)過USB更新固件那都是一般人都能夠?qū)崿F(xiàn)的操作,可是要想實現(xiàn)OAD空中升級,這仍是需要一定的技術(shù)能力。這一節(jié)我就帶著大家完善這一能力。OADnairdownload,指空中下載模式。當我們的產(chǎn)品發(fā)布此后,有時需要對固件進行升級,OAD是升級方式中的一種。配置BIM(BootImageManger)翻開IAR,翻開BLE-CC254x-1.4.0下的工程C:TexasInstrumentsBL

12、E-CC254x-1.4.0ProjectsbleutilBIMcc254xBIM.eww,然后編譯,下載到開發(fā)板中。配置ImageA翻開OADExample工程,配置工程,增添如下幾個宏FEATURE_OAD_BIMHAL_IMAGE_AFEATURE_OADOAD_KEEP_NV_PAGES1)翻開simplePeripheral.c找到宏定義DEFAULT_ENABLE_UPDATE_REQUEST,將其改為FLASE。否則會影響B(tài)LEDeviceMonitor對其進行空中升級,到時能夠再改回來。(2)IAR左側(cè)導航中找到Profile文件夾,點擊右鍵增添oad_target.c和oad

13、_target.h兩個文件,二文件位于C:TexasInstrumentsBLE-CC254x-1.4.0ProjectsbleProfilesOAD中。3)在IAR導航中找到HALTargetMT254xboardDriver,右鍵增添文件hal_crc.c,該文件位于C:TexasInstrumentsBLE-CC254x-1.4.0ComponentshaltargetMT254xboard中。42精選文庫(4)在才的simplePeripheral.c文件中,找到simplePeripheral_Init()函數(shù),在里面增添OADTarget_AddService()函數(shù)。5)在sim

14、plePeripheral.c的前面,增添引用OAD的文件,OAD.h和OAD_target.h。6)點ProjectOption,或直接按Alt+F7,BuildActions,在Post-buildcommandline中增添:“。commoncc2540cc254x_ubl_pp.bat”“$PROJ_DIR$”“rodUBL”“$PROJ_DIR$CC2540-OAD-ImgAExeOADExample”注意,各雙引號之只有一個空格。注意中框的部分,Image_A是和以前第1步的。7)點ProjectOption,或直接按Alt+F7,Linker,Config,LinkerConfi

15、gurationfile中勾Overridedefault,增添C:TexasInstrumentsBLE-CC254x-1.4.0Projectsblecommoncc2540cc254x_f256_imgA.xcl。(8)點ProjectOption,或直接按Alt+F7,Linker,ExtraOutput。9)ExtraOption增添Hex文件的出。(10)點OK,下,如果出如下,是因我使用的是IAR80518.30版本,如果你使用的是IAR8.20版本就沒有。(11)個是因使用了虛存放器致的,我找到如下文件。43精選文庫(12)對文件的115前進行如下改正,將虛構(gòu)存放器說明掉。44

16、精選文庫13)后,能夠看到我生成的文件14)我將hex文件疊加到BIM后邊ImageA就成功開板了。配置ImageB(1)方法如ImageA,其余要注意的幾個地方:點ProjectOption,或直接按Alt+F7,C/C+Compiler,Preprocessor,將Definedsymbols中的HAL_IMAGE_A改成B。2)點ProjectOption,或直接按Alt+F7,Linker,Config,將LinkerConfigurationfile中的文件改B。(3)保留后,同的能夠看到生成的文件。45精選文庫(4)為了劃分A和B鏡像,我們將最終結(jié)果更名??罩猩売辛薭in文件就能

17、夠進行空中升級了,翻開BLEDeviceMonitor(沒有安裝的需要安裝),翻開后軟件會自動掃描設(shè)施,如圖,我們掃描到了開發(fā)板。46精選文庫2)連結(jié)后,翻開OAD3)點擊file,選擇Progame(OAD),選擇生成的bin文件,能夠看到我們目前運行的是A固件4)點擊start,當進行到100%,就完成了固件空中升級。(5)升級后再次翻開OAD選項,能夠看到選擇運行的固件已經(jīng)是B版本的了。注意:要把BLE協(xié)議棧BLE-CC254x-1.4.0安裝在C盤,在其他盤符下沒有生成bin文件。第二十五節(jié)SBL串口升級47精選文庫SBL升級和OAD升級的配置步驟都是同樣的,主假如配置的參數(shù)不同樣,下面我們來配置一個SBL升級的固件。配置SBL翻開IAR,翻開BLE-CC254x-1.4.0下的工程C:TexasInstrumentsBLE-CC254x-1.4.0ProjectsbleutilSBLiarcc254xsbl.eww,然后編譯,下載到開發(fā)板中。配置Bin文件(1)增添宏MA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論