TI中文支持网
TI专业的中文技术问题搜集分享网站

BLE4.0 CC2540之间数据通讯实时性问题请教

我用两个CC2540,BLE 1.4.0协议栈,想实现 IC—->串口(CC2540)——蓝牙——-串口(CC2540)—-》IC这个数据传输过程。串口通过每隔30ms,发送9个字节为一帧的数据;

实验中,我开了两个串口精灵模拟收发数据,发现串口接收端有丢帧现象,不是丢某个字节。

两种情况,在主端CC2540,串口发出的数据个数,与实际进行蓝牙发送后,再输出到主端串口的数据个数不一致;

另一种情况, 主端CC2540串口发出数据,与实际进行蓝牙发送后,输出到主端串口数据一致,但从端2540的串口输出个数与主端不一致。

代码里,我更改了主从的连接时间间隔为:

          #define DEFAULT_DESIRED_MIN_CONN_INTERVAL     6   

         #define DEFAULT_DESIRED_MAX_CONN_INTERVAL     6

更改了从机的#define DEFAULT_DESIRED_CONN_TIMEOUT          100

请问,还有没有再优化的空间,以保证数据不丢包。

谢谢。

SunnyHua:

回复 Yan:

Hi,Y, 

谢谢你的帮助。

针对这个例子,我有一个疑问,我看到在串口回调里需要对接收来的数据进行按格式判断,如果串口数据传送过来的非常快,可能串口回调正在处理这组数据的时候,下一组又过来了,会不会导致串口数据有未来得处理的情况,或者如果是一大串的串口数据很快的过来,DMA的缓冲满了,是否也会有串口数据未来得及处理的可能,因为DMA的速度很快,但是CPU的处理速度要慢一些。会不会有这种可能。

谢谢。

赞(0)
未经允许不得转载:TI中文支持网 » BLE4.0 CC2540之间数据通讯实时性问题请教
分享到: 更多 (0)