CC1310作为RF发射模块MCU通过UART连接主机系统。主机系统为安卓系统,当模块与主机一起上电初始化,安卓启动比模块要慢,安卓起来后无法与CC1310通讯;当上电后,模块上电后延时等待主机启动后再模块初始化运行代码,此时安卓系统跟模块能够正常通讯,不知道是什么原因导致的?请各位大神分析分析。
ju yang1:
不知道有什么办法知道uart工作是否正常的方法?
Eggsy Pang:
首先我看到你说安卓系统起来后,可以和CC1310通信,证明CC1310的UART功能和UART初始化是正确的。
回到当模块与主机一起上电初始化,安卓启动比模块要慢,安卓起来后无法与CC1310通信,我想问下无法通信的现象是什么?没有波形?引脚被拉低?是否可以用示波器看一下波形呢?
若有更多信息,这边可以得到更好的帮助
da qin zheng sheng:
模块一直等待,收到主机命令后开始给主机发送数据。
user1013622:
回复 da qin zheng sheng:
最近我也在做一个与安卓系统通讯的工作,我遇到了另外的问题,安卓系统在启动时uart会输出大量的调试信息,结果导致1310的uart通讯异常,无法进入callback。这样的问题即使在51单片机都不会遇到,是1310硬件存在缺陷还是我的用法有问题。
xianbing zhu:
回复 user1013622:
你可以先把串口关了(UART_readCancel(uart);),一段时间后再打开。我也遇到这样的问题,我是这样处理的,当接收超时的时候,我就关闭接收;当RX端有信息过来时再打开串口。
xianbing zhu:
回复 user1013622:
我是CC1310 和ESP8266串口通信,ESP上电启动时总是发送一大串乱码。我设置uartcallback模式是接收到正确数据格式时,发送post才退出接收的,由于乱码数据格式不对,所以一直处于callback函数里面运行不出来,导致cc1310 uart就像你们所说的接收不了数据!你们可以设置超时发送post,或者超时关闭串口。新数据过来再打开,新数据可以用按键中断来检测。