微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 广播模式下,CC2541接受串口数据乱码!

广播模式下,CC2541接受串口数据乱码!

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

使用CC2541的uart遇到这么情况,在广播模式模式下,cc2541 接受uart 数据,经常接受到错误数据,调用NPI_RxBufLen 读取到的数据大小为128!!!
难道 uart 的DMA  被ble 协议通信挤占?  

补充:在非广播/连线 状态下测试,接包正常。

不太可能您说的情况吧 如果是挤占 也没有理由是广播的时候 因为广播的时候实际上协议栈使用的资源最小 都没有连接需要维护啊

BufLen不对,数据也不对吗?

您好! 后面重新确认了,BufLen 是对的,之所以一开始出错,是因为程序中数据接受错误则进入我设了断点,虽然进入了断点,但pc还是在不停的想CC2541发送数据。

       但是数据确实是无错误的,但不是全部错误,后面几个byte是对的.

      PC 发送的数据:        0F 01 23 12 21 23 23 12 12 32 31 21 21 22 0D 0A 

     cc2541接受的数据:              40 24 A2 1A 1A 92 12 32 31 21 21 22 0D 0A 

有没有可能是数据发送的太多 导致丢失了呢?

应该不是,我在非广播/连接模式下测试,没有出现过接受乱码。

广播的时候,肯定干扰到了我串口的数据接受工作,是不是干扰到了DMA,广播模式下,uart 的DMA是不是被一些资源干扰或占用呢?

我是工作在非省电模式下,协议栈是1.4的。

在广播状态下就不会进休眠 所以和休眠应该关系不大

感觉可以看看有没有可能和时钟相关

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

网站地图

Top