1. 程式人生 > >CC2640R2F藍芽除錯——更改MTU PDU大小

CC2640R2F藍芽除錯——更改MTU PDU大小

除錯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);

之後將傳送和接收的快取區更改為自定義大小即可正常使用。