TI论坛
直播中

李云逍

7年用户 180经验值
私信 关注
[问答]

CC2541发送数据不成功该怎么办?

ti工作人员你们好!
         由于项目上的较为紧急(之前也未接触过CC2541),所以我也没办法仔细去研究蓝牙的协议,再次还希望诸位能给与帮助帮忙解答CC2541  SimpleBLEPeripheral demo 上的几个疑问,非常感谢。
     目前蓝牙能在demo上修改能收到数据通过串口输出,但是发送还没有成功,修改过程中对profile中的特征值非常迷惑(修改也参考了其他部分教程):
     1.  我简单看了下蓝牙中特征值可以用来传输数据,NOTIFY也可以传输部分数据,这两种有什么区别呢?
     2.  16位的UUID 的特征值。示例中有char1到char5 。 如果我的功能要求只是数据简单传输。那么是不是我只需要一个特征值就足够?
     3.  能允许有多个char值都是读/写属性么?假如允许的话,那么central端究竟会以哪个特征值来传输数据?
         假如char1和char4都具有读写属性,但是我希望第一包数据以char4的特征值传输,怎么样设置才能达到这个结果?
     4. 对于多个具有读写属性的特征值,我在发送数据的时候是不是可以任意切换利用不同的特征值来发送?
     5. 对于某个具有读/写属性的特征值,我是否可以即用它来接收central端发来的数据,同样也可以利用该属性发送数据到central端呢?

回帖(1)

俞舟群

2019-9-29 15:41:04
1.蓝牙是通过特征值传输数据的,peripheral这边具体有notify(不需要主机回复)和indicate(需要主机回复)两种方式
2.是的
3.可以有多个char具有读写属性。以哪个特征值传输数据是需要代码来控制的,比如SimpleProfile_SetParameter( SIMPLEPROFILE_CHAR5, osal_strlen((char *)data), data);就是利用char5传递数据。SimpleProfile_SetParameter( SIMPLEPROFILE_CHAR4, osal_strlen((char *)data), data);同理
4.可以,理由同3
5.是的,同时具备读和写的属性的特征值就可以
举报

更多回帖

发帖
×
20
完善资料,
赚取积分