微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2640在发送数据时出现的奇怪问题

CC2640在发送数据时出现的奇怪问题

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

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!

是加了我给你的代码后,正常了对吗?一个包发完?两个手机都一样结果?

是的,试了两个手机都正常了。

为什么有的手机需要加这段代码,有的不需要就是正常的呢?

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

网站地图

Top