CC2640在发送数据时出现的奇怪问题
CC2640使用notify方式发送一个20Byte字符串,速度很慢,使用sniffer抓包后,发现20Byte居然分成2个包发送,如下图:

我发送的字符串是“01234567890123456789”,它把前11个字符+9个未知字符“30 42 1D 91 3F 8C 66 02 10 D0”凑成20个字节给发了出去,
然后又把剩余的9个字节在第二个事件中发了出去。
请教TI工程师为何会出现如此奇景?百思不得其解!
低功耗模式关闭了没有?
你的PDU设置的多试?能否改大一些再测试一下
抓包的PDU-length=18,实际应该上是27
换了个手机测PDU-length=27,又正常了。这是怎么回事呢?
在例程加入以下红色部分,看看会出现什么问题
static void SimpleBLEPeripheral_init(void)
{
。。。
dispHandle = Display_open(SBP_DISPLAY_TYPE, NULL);
#define APP_TX_PDU_SIZE 27
#define APP_RX_PDU_SIZE 27
#define APP_TX_TIME 328
#define APP_RX_TIME 328
//This API is documented in hci.h
HCI_EXT_SetMaxDataLenCmd(APP_TX_PDU_SIZE , APP_TX_TIME,
APP_RX_PDU_SIZE, APP_RX_TIME);
。。。。
}
问题解决了,感谢@Eggsy Pang!
是加了我给你的代码后,正常了对吗?一个包发完?两个手机都一样结果?
是的,试了两个手机都正常了。
为什么有的手机需要加这段代码,有的不需要就是正常的呢?
