由淺入深,藍(lán)牙4.0/BLE協(xié)議棧開發(fā)攻略大全(4)
本系列教程將結(jié)合TI推出的CC254x SoC 系列,講解從環(huán)境的搭建到藍(lán)牙4.0協(xié)議棧的開發(fā)來深入學(xué)習(xí)藍(lán)牙4.0的開發(fā)過程。教程共分為六部分,本文為第四部分:
第四部分知識點:
第十六節(jié) 協(xié)議棧LED實驗
第十七節(jié) 協(xié)議棧LCD顯示
第十八節(jié) 協(xié)議棧UART實驗
第十九節(jié) 協(xié)議棧五向按鍵
第二十節(jié) 協(xié)議棧Flash數(shù)據(jù)存儲
有關(guān)TI 的CC254x芯片介紹,可點擊下面鏈接查看:
主流藍(lán)牙BLE控制芯片詳解(1):TI CC2540
同系列資料推薦:
由淺入深,藍(lán)牙4.0/BLE協(xié)議棧開發(fā)攻略大全(1)
由淺入深,藍(lán)牙4.0/BLE協(xié)議棧開發(fā)攻略大全(2)
由淺入深,藍(lán)牙4.0/BLE協(xié)議棧開發(fā)攻略大全(3)
有關(guān)本文的工具下載,大家可以到以下這個地址:
朱兆祺ForARM
第十六節(jié) 協(xié)議棧LED實驗
TI的協(xié)議棧中在HAL層已經(jīng)有了LED的驅(qū)動,我們只需要針對我們的開發(fā)板進(jìn)行配置即可,我們的開發(fā)板有兩個LED,分別對應(yīng)P1.0和P1.1。這個在裸機(jī)開發(fā)的時候已經(jīng)介紹了。
為了保持協(xié)議棧原有的代碼不變,我們在BLE-CC254x-1.4.0Componentshal arget目錄下新建一個文件夾,使它適應(yīng)我們的開發(fā)板。
打開LED實驗工程LEDExample,選擇MT254xboard,并且在工程配置中要定義HAL_LED=TRUE,下載到開發(fā)板運行,可以看到兩個LED同時在閃爍。
那我們的實現(xiàn)代碼在哪里呢?其實在協(xié)議棧中實現(xiàn)這個很簡單,在啟動事件中我們調(diào)用了一個HalLedSet函數(shù),并且設(shè)置了兩個LED同時閃爍。
就是這么簡單,協(xié)議棧已經(jīng)把其它事情做好了,只需要我們調(diào)用設(shè)置函數(shù)即可。設(shè)置的模式總共有5種。
#define HAL_LED_MODE_OFF 0x00 // 關(guān)閉LED
#define HAL_LED_MODE_ON 0x01 // 打開LED
#define HAL_LED_MODE_BLINK 0x02 // 閃爍一次
#define HAL_LED_MODE_FLASH 0x04 // 不斷的閃爍,最多255次
#define HAL_LED_MODE_TOGGLE 0x08 // 翻轉(zhuǎn)LED狀態(tài)
為了適應(yīng)不同的需求,我們可能需要更改LED的輸出引腳,如圖板級配置在hal_board_cfg.h文件中。
這里我們的開發(fā)板只有兩個LED,所以我們在這里根據(jù)開發(fā)板的實際情況修改相應(yīng)的IO口。