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.

CC2541 UART帧错误

Other Parts Discussed in Thread: CC2541, CC2640

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

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

  • POWER_SAVING有没有开?关掉试试

  • Dear Viki:

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

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

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

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

    另外添加流控会有帮助。

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

  • Dear WBJ:

           是基于TI的例程做的。

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

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

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

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


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


        感谢!