微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541 关于profile的疑问

CC2541 关于profile的疑问

时间:10-02 整理:3721RD 点击:

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.蓝牙是通过特征值传输数据的,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.是的,同时具备读和写的属性的特征值就可以

le,

1. Notify 是从外设到手机,write是从手机到外设。

2. 是的,一个就够,但是如果是双向传输的话,最好用两个,一面冲突。

3. 允许。central端会根据不同的attribute handle来判断是往哪个特征值传输,不会冲突。

4. 只要你的两边协商好,完全没有问题。

5. 可以。写就是central端发送出去,读的话就是central去主动读取peripheral的那个特征值,所以当然可以用于向central发送数据。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top