有关CC2540的串口
时间:10-02
整理:3721RD
点击:
最近要做一个串口转蓝牙的应用,可是测试发现串口的数据错误率很高,串口使用的是DMA方式。
串口测试截图如下所示:
可以看到 发送的数据都是固定的112233445566778899 ,可是显示出来的数据就有很多奇怪的乱码,我代码里面是读取完后,立刻回显的。
这个代码主要就是串口收到的数据跟手机通讯,手机上读取的数据 跟打印出来的数据是一样的,蓝牙部分的无线传输数据是没有问题的,问题就在读串口时数据读取失败,将发送时间间隔调慢,或是读取数据的时间间隔加长都无法改善串口读取数据的错误情况,是用DMA方式读取串口就会这样么? 我如果要是不用OSAL,就直接使用串口外设去读数据,是没有这种情况的,为何在OSAL加入任务去读取串口数据就会错误率那么高?求指教?
POWER_SAVE 这个宏注销试试
是指xPOWER_SAVING 这个宏吗 ? 在项目Option里的?其余地方没有找到,
去掉也没有改善,而且程序一直都没有进入低功耗状态,都是完整在跑。。。。
和你的情况类似
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/64022.aspx
建议用中断模式,先不加蓝牙通信功能测试!