发送间隔:24ms
发送包长度:20字节

问题:
1:主机通过GATT_WriteNoRsp向从机写入数据,当写速率过快时,就会出现blePending

原因:这是由于出现前面设置的缓存区小和连接间隔太大等参数导致的
解决:
1:将这两个调至成这个,放在ti_ble_config.h,MAX_NUM_PDU和MAX_PDU_SIZE

定义6个Tx缓冲区,每个缓冲区251字节。用户应用程序应该根据自身堆栈情况进行分配。如果没有足够的堆栈,可以通过减少MAX_NUM_PDU,这样可能导致吞吐量的损失。实际使用中的最坏情况是MAX_NUM_PDU和MAX_PDU_SIZE的乘积。设计人员应该根据设备的可用内存来平衡这些参数。

#define MAX_NUM_PDU 6
#define MAX_PDU_SIZE 251

我们配置L2CAP MAX_PDU_SIZE 为255, ATT_MTU 最大 为251 读写特征值最大长度应该ATT_MTU-3=248;
//source\ti\blestack\profiles\simple_profile\simple_gatt_profile.h SIMPLEPROFILE_CHAR5_LEN Line 85
#define SIMPLEPROFILE_CHAR5_LEN 248

2:简单粗暴将连接间隔调小些
注意,在实际情况下更高的连接间隔有着明显的缺点:由于射频干扰导致的连接事件将大大降低吞吐量。因此用户需要根据所需吞吐量进行权衡。当连接间隔大于100ms后,吞吐量将不会增加。

将原来的8001.25ms,修改成241.24ms
将最小的连接间隔“修改成7.5ms

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200714193709775.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaV9BbGFud3U=,size_16,color_FFFFFF,t_70

bool center_Gatt_Write(uint8 char_type,uint8 *p_data,uint16_t len){attWriteReq_t req;// uint8_t charVals[4] = { 0x00, 0x55, 0xAA, 0xFF }; // Should be consistent with// those in scMenuGattWriteuint8 conndle_index=mac_find_connHandle(stu_other.COMMDEV_mac);if(conndle_index==10)  return false;req.pValue = GATT_bm_alloc(connList[conndle_index].connHandle, ATT_WRITE_REQ,len,NULL);//sizeof(charVals) , NULL);if ( req.pValue != NULL ){if(char_type==1)req.handle = connList[conndle_index].FFX2_Handle;//   req.handle = connList[get_currt_conn_num()-1].FFX2_Handle;elsereq.handle = connList[conndle_index].FFX4_Handle;req.len = len;memcpy(req.pValue,p_data,len);req.sig = 0;req.cmd = 1;//0;//     status = GATT_WriteCharValue(connList[conndle_index].connHandle, &req,  get_selfEntity());//0;status_gatt=GATT_WriteNoRsp(connList[conndle_index].connHandle, &req);if(status_gatt != SUCCESS){GATT_bm_free((gattMsg_t *)&req, ATT_WRITE_REQ);return false;}}return (true);}

可以加入QQ群:687360507
与大伙沟通交流,技术在于分享而进步

CC26x2R1笔记(11)蓝牙丢包问题(GATT_WriteNoRsp发送返回0x16:blePending)相关推荐

  1. android蓝牙丢包重传,华为TE Desktop Mobile软终端引领市场

    [IT168厂商动态] 华为自从2013年推出TE30以后,随着视讯行业的迅猛发展与客户对视讯要求的不断提高,华为继续推出了TE40.TE50.TE60三款全新的高清视频会议终端,能全方位覆盖从中小型 ...

  2. CC2640蓝牙丢包问题(notify发送返回0x16:blePending)

    发送间隔:24ms 发送包长度:20字节 从机 Notification发送方式有两种,用户根据自身要求选择: (1)调用GATT_Notification( uint16 connHandle, a ...

  3. Android IOS WebRTC 音视频开发总结(八十七)-- WebRTC中丢包重传NACK实现分析

    Android IOS WebRTC 音视频开发总结(八十七)-- WebRTC中丢包重传NACK实现分析 本文主要介绍WebRTC中丢包重传NACK的实现,作者:weizhenwei ,文章最早发表 ...

  4. UDP sendto频率过快导致发送丢包

    sendto频率过快导致发送丢包 - 逸蒙 - 博客园 编写一个转发模块,虽然没有要求一转多时要达到多少路(不采用组播的情况下,单纯的一路转成多路),但是本着物尽其用的原则,尽可能测试一下极限. 网络 ...

  5. tcp 粘包 丢包 解决方案

    1.分析tcp粘包和丢包的原因 发送数据的时候有  发送缓冲区senBuff, 接收数据的时候有  接收缓冲区recvBuff, 假如接收数据方一直不recv, 则recvBuff就会堆满, 这个时候 ...

  6. 用了TCP协议,就一定不会丢包嘛?

    表面上我是个技术博主. 但没想到今天成了个情感博主. 我是没想到有一天,我会通过技术知识,来挽救粉丝即将破碎的感情. 掏心窝子的说.这件事情多少是沾点功德无量了. 事情是这样的. 最近就有个读者加了我 ...

  7. 用了TCP协议,就一定不会丢包吗?

    表面上我是个技术博主. 但没想到今天成了个情感博主. 我是没想到有一天,我会通过技术知识,来挽救粉丝即将破碎的感情. 掏心窝子的说.这件事情多少是沾点功德无量了. 事情是这样的. 最近就有个读者加了我 ...

  8. tcp三次握手丢包后会发生什么

    测试工具 本片文章会用到以下工具来学习tcp三次握手: tcpdump,一个运行在用户态的应用程序,它本质上是通过调用 libpcap 库的各种 api 来实现数据包的抓取功能.数据包到达网卡后,经过 ...

  9. 用了 TCP 协议,就一定不会丢包吗?

    她说她男朋友也是个程序员,异地恋,也关注了我,天天研究什么 TCP,UDP 网络.一研究就是一晚上,一晚上都不回她消息的那种. 话里有话,懂. 不出意外的出了意外,她发出了灵魂拷问 "你们程 ...

最新文章

  1. java微信群自动回复_微信自动回复机器人选哪个好?参考这四点
  2. flux读取不到数据_spring-webflux两种开发模式,获取不到使用ajax的post提交的数据?...
  3. 18 | 为什么这些SQL语句逻辑相同,性能却差异巨大?
  4. 配置token_Nginx常用的配置
  5. asp.net html table,在ASP.NET中利用HtmlTable动态创建表格 | 学步园
  6. jvm--3.内存管理
  7. JAVA(1)-----JAVA基础知识
  8. 网络运维在经济危机中茁壮成长
  9. 今天,我们考大学是为了什么?
  10. clear java_方法clear()在Java中做什么?
  11. 快速傅里叶变换(FFT):蝶形算法(CT蝴蝶、GS蝴蝶)
  12. linux中tailf命令详解,linux tailf命令详解
  13. android MediaPlayer m3u8 播放
  14. FSR402传感器简介
  15. Python办公自动化实战 01 | Python优势与自动化思维让你的工作化繁为简
  16. 使用高德地图自定义marker、infowindow
  17. html页面使用地图,前端PC端使用地图步骤(高德)
  18. 工欲善其事,必先利其器-程序员工具推荐
  19. 撰写合格的REST API
  20. 好用的读书笔记app精选

热门文章

  1. 许昌 地图。满屏的饭馆。
  2. [luogu 4168] [Violet]蒲公英 {离散化+分块}
  3. 如何成为一位 hacker
  4. 数据可视化:揭开“智慧校园”新篇章,助力新时代教育信息化
  5. AWS EC2常见问题
  6. 解决谷歌注册表删除不干净,造成安装或者升级不了谷歌浏览器
  7. 用VB6+GDI+开发交互式CAD系统
  8. 【MATLAB数学建模算法代码(六)之遗传算法】
  9. Python Wechaty 微信聊天机器人 padlocal协议搭建指南
  10. android locales本地化(整理)