This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2540蓝牙通知功能有延迟,距离越远延迟越大

Other Parts Discussed in Thread: CC2540

测试背景:用CC2540替换我们产品上原有的蓝牙模块,然后把CC2540的串口以及调试接口都引出线来进行烧写和调试。

主机通过CCdebuger连接至XP,从机通过一个USB转串口模块连接至PC。

工程背景:基于协议栈BLE-1.4.0的SimpleBLECentral和SimpleBLEPeripheral进行了一些修改。

功能实现:增加一个16字节的特征值CAHR6,设置为通知属性。主机和从机连接之后,PC通过串口程序向从机写入16字节之内的一组数,从机将这个数放在CHAR6的响应位置。也就是修改CHAR6,因为连接后已经使能了CCC(通知配置特征值)所以CHAR6的值会自动发送给主机,主机接收到之后丢给串口,显示在PC上,从而实现蓝牙串口透传。

串口的配置为 8个数据位、1个停止位,无校验,无流控。

那么问题来了:当在近距离(1m-2m)之内时,每隔1秒修改一次CHAR6,主机接收效果比较正常,

                        但是,偶尔在7-10个周期时发现,从机再一次修改CHAR6之后,主机并没有正常接收,大约过了1m左右,也就是在从机第二次修改CHAR6时,主机把这两次的通知一次性顺序接收并显示在PC上。这是什么情况??

                        当在远距离(>2m)之后,上面的延时变得更大,有几次这个延时会达到8秒....

 

还有我们现在的CC240的传输距离只能达到12m,超过之后会出现时断时连的情况。

敢问这种问题的关键原因处在哪?是硬件?还是软件?我改的APP已经很简单,只是在通知接收时,吧pmsg中的数据丢给串口。而且自己亲测过UART的传输性能时,并没有出现这种延时。

求助SOS,附件有我现在的工程文件,请高手帮忙。

ble.rar