930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 25013|回复: 5

蓝牙串口实验中发送字节数的限制问题

[复制链接]

27

主题

72

帖子

384

积分

版主

Rank: 7Rank: 7Rank: 7

积分
384
发表于 2016-11-6 20:16:37 | 显示全部楼层 |阅读模式
本帖最后由 飞宇 于 2016-11-6 20:47 编辑

    蓝牙串口实验中,当在串口调试助手发送数据给开发板时(开发板接收后通过BLE发送给手机APP),如果字节数不够20个,会发现数据发送不出去,这是因为程序中对发送的数据字节数进行了限制,如下图:
图1:蓝牙串口发送数据长度限制

    在上图中可以看到:只有发送数据时加上换行符 或者 数据字节数>=20,数据才会发送。

    所以,要想发送数据长度为1~20个字节的任意长度(因为BLE一包数据最大字节数为20个字节,所以超过20个字节会被截断),可以在数据中添加换行符或者修改代码去掉20个字节的限制。
    数据中添加换行符:勾选串口调试助手中的“发送新行”。



图2:勾选发送新行


    修改代码:
    原代码是:index >= (BLE_NUS_MAX_DATA_LEN) ,其中BLE_NUS_MAX_DATA_LEN = 20。  可以根据自己的需求修改,去掉这个限制即可。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

4

主题

46

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
发表于 2016-11-8 22:09:08 | 显示全部楼层
楼主辛苦。
回复

使用道具 举报

0

主题

4

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2016-11-9 15:50:23 | 显示全部楼层
正解!
回复

使用道具 举报

3

主题

16

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2016-11-18 21:24:31 | 显示全部楼层
正解!
回复

使用道具 举报

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2017-12-20 14:35:14 | 显示全部楼层
mark
回复

使用道具 举报

0

主题

5

帖子

72

积分

注册会员

Rank: 2

积分
72
发表于 2018-2-7 17:44:54 | 显示全部楼层
也可以修改成任意長度 1~ N  ( N為任意整數) (但要做拆包動作) , 且不用加換行字符
也就是真正的BRIDGE.   目前我是改成這樣, 覺得很好用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

GMT+8, 2024-11-22 00:17 , Processed in 0.069151 second(s), 22 queries .

快速回复 返回顶部 返回列表