打印
[资料分享]

CC2640R2F蓝牙调试——更改设备名称

[复制链接]
484|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2020-10-23 17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
调试CC2640R2F,以TI官方simple_peripheral例程为基础,更改手机端搜索到的蓝牙名称。
1、安卓和IOS搜索蓝牙名称有何区别?
      配置CC2640R2F时,有两个地方配置了蓝牙名,分别是attDeviceName[]和scanRspData[],其中scanRspData[]除了包含local_name外,还有发射功率和时间间隔信息。
安卓设备:
搜索显示的是local_name,需要在scanRspData中更改。
IOS设备:
      搜索显示的是attDeviceName,需要在attDeviceName中更改。采用lightblue调试,连接之后点击'show'可以显示local_name,由于attDeviceName需要在连接之后读取,所以之前连接过,在更改2640蓝牙名称后显示的还是修改前的名称,重新连接并断开,再次搜索即可变为修改后的名称。
2、程序中如何更改名称?
       上边介绍名称从哪里赋值,下面介绍怎么更改,其实很简单,使用初始化的两个函数:GAPRole_SetParameter()和GGS_SetParameter(),将名称数组按照要求进行赋值操作后,调用这两个函数就可以。项目需求要时刻更改显示名称,具体名称在另外任务中下发,故每次收到名称变更要求,就重新赋值并调用两个函数进行配置,实验显示名称会动态更改,配置时不需要关闭蓝牙协议栈任务。
3、更改名称时注意事项?
      例程中scanRspData[]按字节初始化,attDeviceName[]初始化为字符串,名称更改时一般为按字节形式赋值数组,所以scanRspData重新赋值即可,但更改attDeviceName时需注意,默认字符串赋值末尾会加'\0',未赋值的字节默认也是0,ASCII码中为控制字符,不可显示,会导致在'0'之后的内容显示不来,此为多次实验结果,具体原因需要查看GGS_SetParameter()的函数实现过程。故一定注意在更改蓝牙名称时,不要在名称中间出现0x00或ASCII中的不可显示字符,空格的话可直接赋值'  '或0x20。

使用特权

评论回复

相关帖子

沙发
dirtwillfly| | 2020-10-23 21:22 | 只看该作者
感谢分享

使用特权

评论回复
板凳
lvuu| | 2020-10-31 22:23 | 只看该作者
例程中scanRspData[]按字节初始化

使用特权

评论回复
地板
610u| | 2020-10-31 22:24 | 只看该作者

使用特权

评论回复
5
zljiu| | 2020-11-10 09:45 | 只看该作者
at指令可以更改吗

使用特权

评论回复
6
coshi| | 2020-11-10 09:46 | 只看该作者
只能按照字节进行初始化吗

使用特权

评论回复
7
磨砂| | 2020-11-10 09:51 | 只看该作者
别的型号的芯片能用这种方式更改吗

使用特权

评论回复
8
晓伍| | 2020-11-10 09:52 | 只看该作者
一共有几种更改方式啊

使用特权

评论回复
9
八层楼| | 2020-11-10 09:52 | 只看该作者
介绍的真是太详细了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

964

主题

3937

帖子

10

粉丝