我使用CC2541芯片遇到了两个问题。
1.我使用设置characteristic启动notify的方式来获取数据,在40ms发一次的情况下,notify发送的数据包会丢失。
2.在使用上面的方式发送数据时,一个包包含的数据只能支持29字节的,而代码里面的注释上说明的是
typedef struct attAttribute_t
{
gattAttrType_t type;
uint8 permissions;
uint16 handle;
uint8* const pValue;//!< Attribute value – encoding of the octet array is defined in
//!< the Application profile.The maximum length of an attaribute
//!< value shall be 512 octets
} gattAttribute_t;
Yan:
li,
1. 接收方是个啥?能用packet sniffer 抓包看看空中包的情况吗?
2. 正确来说,notification 允许带的数据包最长只有20字节。这是协议栈规定。这个定义只是广泛的定义,针对于所有的attribute. 读写数据的时候,是可以有更长数据的,但是到了底层,还是分包发送。
li liuhai:
回复 Yan:
接收使用的套间里面的USB 接收器,用BTool查看的数据。
我刚才看到了之前的帖子,里面有说到一个Blob 读,我使用TI的android Demo是不是能够实现Blob读喃。
谢谢
li liuhai:
接收是通过usb dongle使用Btool接收包。
在之前的帖子里面我看到了一个Blob 写的一个说法,我想问在Ti 提供的androidDemo里面怎么实现blob读去我再cc2541从设备里面设置的长度超过20字节的特征值。
li liuhai:
回复 Yan:
Yan,
我再追问一个问题哈,如果一个特征值需要以blob的方式读取,我在cc2541单片机程序中定义这个特征值是是否需要一些特殊的设定。