CC2640R2F BLE5.0 下載執行第一個程式(simple_peripheral)
下載執行第一個程式
介紹
本章使用CC2640R2F
Evaluation Board作為實驗平臺下載執行simple_peripheral
工程。旨在為開發者建立一個BLE的感性認識。simple_peripheral的IAR工程可以在目錄C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\simple_peripheral\tirtos\iar下找到。
有關工程配置和編譯選項以及下載方法參考CC2640R2
BLE 開發環境搭建部分和使用IAR進行開發。
simple_peripheral工程實現了具有GATT服務的藍芽低功耗外設。並且該專案作為後面協議棧講解的基礎程式。
硬體環境
成功連線開發板之後,開啟電腦的裝置管理器。可以看見XDS110的兩個埠,接下來我們列印使用的串列埠是XDS110
Class Application/User UART(COM25)
注意:XDS110驅動程式在安裝IAR時會預設安裝,如果你沒有安裝IAR,可以手動更新驅動程式軟體,XDS驅動可以在CC2640R2開發工具集介紹裡獲得。
軟體環境
- IAR Embedded workbench 7.80.3
- BLE-STACK V3.0.1
- flash_programmer 2
- PuTTY_0.67.0.0.exe
- BLE Scanner
協議棧和IAR安裝以及我們工程編譯參考CC2640R2 BLE 開發環境搭建
程式下載
提供兩種方式進行程式下載,如果使用者已經安裝了IAR,並且參考開發環境搭建部分搭建好了環境之後可以直接使用IAR進行下載。如果使用者目前還沒有安裝IAR,可以使用flash_programmer進行韌體下載。下面我們說明一下如何使用flash_Programer 2進行程式下載。
- 連線開發板,並開啟Flash_Prorammer 2軟體,在Connected devices介面可以看見我們的裝置。
- 點選browser按鍵,在C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\hexfiles路徑下找到cc2640r2lp_simple_peripheral.hex檔案並開啟。
- 勾選Erase,選擇All unprotected pages。
- 勾選Program,選擇Entire source file。
- 勾選Verify 選擇Readback
- 點選run,即可完成韌體下載。
Service/Profile表
該工程包含一個服務(Service),5個特徵值(characteristic)。
注意下面的UUID值,使用BLE Scanner可以獲得128位的UUID,但該專案生成的是16位的UUID。
characteristic | UUID | 格式 | 屬性 | 資料來源 |
---|---|---|---|---|
1 | FFF1 | 1 byte | 讀/寫 | peripheral.c / simple_gatt_profile.c |
2 | FFF2 | 1 byte | 讀 | peripheral.c / simple_gatt_profile.c |
3 | FFF3 | 1 byte | 寫 | peripheral.c / simple_gatt_profile.c |
4 | FFF4 | 1 byte | 通知 | peripheral.c / simple_gatt_profile.c |
5 | FFF5 | 5 byte | 讀 | peripheral.c / simple_gatt_profile.c |
用法
使用putty的串列埠功能作為該專案的串列埠顯示器。使用以下引數配置putty串列埠。
UART引數 | 預設值 |
---|---|
波特率 | 115200 |
資料長度 | 8 bit |
Parity | None |
Stop bits | 1 bit |
Flow Control | None |
當 Simple Peripheral程式啟動,可以在putty上看見專案名稱,廣播狀態,裝置地址,如下圖所示。
廣播是在程式啟動後預設啟動的,開啟手機的BLE Scanner掃描裝置,可以看見一個名為SimpleBLEPeripheral的裝置。
如果有多個名稱為SimpleBLEPeripheral的裝置,可以通過左側的RSSI數值來判斷需要連線的裝置,該值表示藍芽的訊號強度。一旦連線上裝置,終端視窗將顯示智慧手機的裝置地址。
連線成功之後,可以通過按鍵設定PHY的首選項,關於PHY更多描述,參考LE
2M PHY
在BLE Scanner中,你可以看到有關SimpleBLEPeripheral更多資訊。
點開CUSTOM SERVICE,這是使用者自定義服務,其中包含5個characteristic,並顯示了每個characteristic的資訊。
characteristic 1 (UUID:FFF1)
characteristic 1具有讀寫屬性,包含一個位元組長度的值。如下圖所示。
按下R按鈕後,可以讀取characteristic的值,顯示在HEX後面,預設是0x01。按下寫入按鈕後,出現寫入彈窗,可以寫入1位元組任意數字,再次點選讀取可以獲取剛才寫入的值。並且可以在putty中斷看見寫入的ASCII值。這裡我們寫入的是2,對應ASCII碼為50.
每個使用者特徵值下面都有一個R按鍵,可以讀取特徵名稱。如下圖所示。
characteristic 2 (UUID:FFF2)
此特徵值僅具有讀屬性。預設值為0x02.可按照characteristic 1方式進行讀。
characteristic 3 (UUID:FFF3)
此特徵值僅具有寫屬性,預設值為0x03.可按照characteristic 1方式進行寫。
characteristic 4 (UUID:FFF4)
此特徵值僅具有通知屬性,通過點選N按鍵開啟通知屬性,開啟後它會將characteristic 3的值以通知的方式傳送出來。手機端接收到之後顯示在介面。如下圖所示。
並且還可按下特徵值配置旁邊的讀取按鈕顯示是否已經啟動了通知。
characteristic 5 (UUID:FFF5)
characteristic 5僅具有讀屬性,它是5個位元組,預設值為0x0102030405.它與其他特徵值不同的是它需要認證。通過智慧手機與外設配對來完成。預設的密碼是0000,當配對成功,才能讀取到正確內容。
加入我們
文章所有程式碼、工具、文件開源。加入我們QQ群 591679055獲取更多支援,共同研究CC2640R2F&BLE5.0。