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

CC2541 UART帧错误

       我的方案选择为MCU+BLE(CC2541)的方式,CC2541主要的作用就是数据透传,MCU和CC2541通过串口传输数据,串口没有使用硬件流,波特率为38400,每一次CC2541收到MCU传输的数据就将其发给手机,手机再回复给CC2541,CC2541再通过串口传给MCU。当我有大量的数据需要透传时,在使用中发现当连接间隔设置为30ms时,有很多UART通信数据会出现帧错误,把连接间隔设置为60ms时,UART就较少出现帧错误?请问这个是什么原因?是因为蓝牙中断导致UART传输中出现问题吗?因为数据大,对时间要求高,越快越好,请问如何可以在较短的时间传输而不出现错误(比如25ms)?

       另外,想问下CC2640会不会出现这样的问题?

Viki Shi:

POWER_SAVING有没有开?关掉试试

jin guo1:

回复 Viki Shi:

Dear Viki:

       不好意思,这几天出差,回复的比较晚了。关掉power save还是一样,我是担心会不会是蓝牙传输数据时会导致串口中断并出现帧错误?

Barbara Wu:

请问是基于TI的例程在做的吗?

UART的数据通讯量大概是多少?如果对UART口上的数据进行分包频繁发送,是否效果会好一些?

CC2541使用的是OSAL系统,基本逻辑是轮询。当BLE连接频繁的时候,分给其他操作的时间片就有限,因此可以考虑分包频繁发送UART数据。

另外添加流控会有帮助。

CC2640采用的是M3的核,从处理能力上来说一定比CC2541要强。

jin guo1:

回复 Barbara Wu:

Dear WBJ:

       是基于TI的例程做的。

      UART的数据量一次大概有600个包左右.

     如果对UART口上的数据进行分包频繁发送,是否效果会好一些?

—>显示是UART收一个包蓝牙就发一个给手机,然后手机回一个包给CC2541,CC2541再通过UART回给MCU

     您的意思是CC2541一次将数据收完后在对这些数据进行分包频繁发送吗?

    如果直接打开TI例程中的软件流,因为我使用的MCU没有自带的流控脚位,MCU自定义流控脚位是否有什么需要注意的?

    感谢!

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 UART帧错误
分享到: 更多 (0)