日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【BLE】TLSR8258开发记录之10--更改MTU为245

發(fā)布時(shí)間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【BLE】TLSR8258开发记录之10--更改MTU为245 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、說(shuō)明

基于SDK3.4,將BLE MTU由默認(rèn)的23byte 更改為245 byte

2、操作

A.修改FIFO大小,在app.c中修改以下代碼(#if 1部分為修改或者新增部分)

#if 0 #define RX_FIFO_SIZE 64 #define RX_FIFO_NUM 8 #define TX_FIFO_SIZE 40 #define TX_FIFO_NUM 16 #endif#if 1 #define RX_FIFO_SIZE 272 #define RX_FIFO_NUM 8 #define TX_FIFO_SIZE 260 #define TX_FIFO_NUM 8 #endif#if 1MYFIFO_INIT(blt_rxfifo, RX_FIFO_SIZE, RX_FIFO_NUM); #else _attribute_data_retention_ u8 blt_rxfifo_b[RX_FIFO_SIZE * RX_FIFO_NUM] = {0}; _attribute_data_retention_ my_fifo_t blt_rxfifo = {RX_FIFO_SIZE,RX_FIFO_NUM,0,0,blt_rxfifo_b,}; #endif#if 1MYFIFO_INIT(blt_txfifo, TX_FIFO_SIZE, TX_FIFO_NUM); #else_attribute_data_retention_ u8 blt_txfifo_b[TX_FIFO_SIZE * TX_FIFO_NUM] = {0};_attribute_data_retention_ my_fifo_t blt_txfifo = {TX_FIFO_SIZE,TX_FIFO_NUM,0,0,blt_txfifo_b,}; #endif#if 1 void MG_task_DLE(u8 e, u8 *p, int n) {//ll_data_extension_t data; #if 1u16 Rx_len,Tx_len,my_Rx_len,my_Tx_len,remote_Rx_len,remote_Tx_len;u8 my_buf[245];u8 i=0;for(i=0; i<245; i++){my_buf[i] = i;}Rx_len = p[0]|p[1];Tx_len = p[2]|p[3];my_Rx_len = p[4]|p[5];my_Tx_len = p[6]|p[7];remote_Rx_len = p[8]|p[9];remote_Tx_len = p[10]|p[11];printf("DLE->Rx_len is : %d\r\n",Rx_len);printf("DLE->Tx_len is : %d\r\n",Tx_len);printf("DLE->my_Rx_len is : %d\r\n",my_Rx_len);printf("DLE->my_Tx_len is : %d\r\n",my_Tx_len);printf("DLE->remote_Rx_len is : %d\r\n",remote_Rx_len);printf("DLE->remote_Tx_len is : %d\r\n",remote_Tx_len);bls_att_pushNotifyData(MG_TMHR_OUTPUT_DP_H,my_buf,245); #endif } #endif

B.在app.c的user_init_normal中添加以下測(cè)試代碼

//MG add //Data Length Extension #if 1ble_sts_t MTU_Result;MTU_Result = blc_att_setRxMtuSize(248);printf("The MTU_Result is :%d\r\n",MTU_Result);bls_app_registerEventCallback (BLT_EV_FLAG_DATA_LENGTH_EXCHANGE, &MG_task_DLE); #endif

3、現(xiàn)象

打開(kāi)手機(jī)APP(TTC),右上角選擇 Large MTU,連接成功后右下角MTU填入248,點(diǎn)擊更新,此時(shí)手機(jī)APP會(huì)收到245 byte的數(shù)據(jù)(0~244),且可以看到串口打印的消息

總結(jié)

以上是生活随笔為你收集整理的【BLE】TLSR8258开发记录之10--更改MTU为245的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。