CC2640R2F如何蓝牙发送每帧大于20个字节的数据

TI提供的官方例程中(ble5_simple_peripheral_cc2640r2lp_app)蓝牙发送数据的长度默认是一帧20个字节, 如果每帧大于20字节,手机端蓝牙测试APP就接收不到数据了,如何设置才能实现成功发送大于20个字节的数据呢?

从两方面设置,

第一步:先从simple_peripheral例程着手,把MTU(Maximum Transmission Unit 最大传输单元)设置大,须通过调整PDU(Potocal Data Unit协议数据单元)的方式来调整MTU,两者有一定关联。

在simple_peripheral.c中, 把APP_SUGGESTED_PDU_SIZE 的值设置成251。

 接下来调整MAX_PDU_SIZE的值,它的值要等于或大于APP_SUGGESTED_PDU_SIZE的值,

在ble_user_config.h中,用搜索的方式找到 MAX_PDU_SIZE,把它的值改成251。

注意这时在simple_peripheral.c中关于APP_SUGGESTED_PDU_SIZE的初始化参数设置函数保持注释状态,不要打开。

 

接下来设置GUAPROFILE_CHAR1_LEN参数,想发送多少字节就写多少,比如要发送25个字节,如下图:

 

 接下里设置GUA_Profile_Notify函数中的参数,跟这个25相关的参数都要设置成25。

 第二部:设置手机端APP,以下面这款蓝牙调试APP为例,

 

因为要发送大于20字节的数据,作为主机端的手机APP得需要发送指令给从机,还好现在的蓝牙调试APP都有调整MTU的功能,如下图,

 

 至此手机APP端就能接收到25字节的数据了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值