CC2640R2F藍芽除錯——更改MTU PDU大小
阿新 • • 發佈:2018-12-21
除錯CC2640R2F,以TI官方simple_peripheral例程為基礎,更改PDU大小。
採用例程除錯,手機端傳送和通過Notify接收的資料最大為20位元組。導致這種現象的原因可參考著兩篇文章:
資料長度擴充套件(LE Data Length Extension)功能允許LE控制器在連線狀態下發送具有高達251位元組的PDU。
更改程式:
1、調整建議PDU的值。
#define APP_SUGGESTED_PDU_SIZE 251 //default is 27 octets(TX) #define APP_SUGGESTED_TX_TIME 2120 //default is 328us(TX)
2、 調整MAX_PDU_SIZE的值,值可以自定義,但必須大於等於APP_SUGGESTED_PDU_SIZE的值。
// Maximum size in bytes of the BLE HCI PDU. Valid range: 27 to 255
// The maximum ATT_MTU is MAX_PDU_SIZE - 4.
#define MAX_PDU_SIZE 251//69
3、初始化中呼叫引數設定函式。
HCI_LE_WriteSuggestedDefaultDataLenCmd(APP_SUGGESTED_PDU_SIZE, APP_SUGGESTED_TX_TIME);
之後將傳送和接收的快取區更改為自定義大小即可正常使用。