我是Android和测试Android代码的初学者,在Android代码中,我通过UART通信接收和发送数据。通信硬件- MAX232设备连接到Pi3 B型,MAX232的另一部分连接到Vending (Rx,Tx,Gnd,用于将我的安卓应用程序与Vending通信)。我的交流偶尔中断,然后开始交流。我不知道原因是什么,如果有人能在这方面帮助我,请建议。否则需要任何其他信息,我会分享的
私有静态最后字符串UART_DEVICE_NAME = "UART0";//在我的代码中定义。**
i必须使用ttyAMA0(PL011 UART)端口,因为波特率不会随着核心频率的变化而变化,比如ttyS0(MIniUART)。
**
例如,
:如果我一个接一个地发送100个命令,我就会得到这个错误的2-5倍。
**
> ERROR: Failed to open /dev/ttyAMA0: No such file or directory
**发布于 2021-02-09 04:21:43
同样的事情也发生在我读数据的时候。我不和连接到它的设备(粒子光子)说话,只需要听。因为我经常期待一个回应,任何超过几秒钟的事情都意味着事情在一边或另一边往南走。不过,我的光子代码似乎不太可能是坏的,因为我做了许多为期一天的测试,用其他东西读取数据(arduino IDE,什么的)。
无论如何,我创建了一个运行程序,它每隔几秒钟启动一次,并检查最后一次收到的响应是什么时候。如果它超过60秒(事情肯定会损坏,不会变得更好),我将尝试再次启动连接(Periperhal的openUartDevice)。如果仍然没有收到响应,主代码再等待60秒才会再次尝试。
我还在'onUartDeviceError‘中添加了代码,以触发第二个错误的回调(不太确定这是否是其中的罪魁祸首),这将尝试相同的重新启动逻辑,但是等待时间要小得多(比如5秒)。
最后,我让Pi重新启动自己(因此连接的光子),所以一切都开始新鲜,每天早上6点。这为我的目的解决了这个问题,而且它在大约两年的时间里一直在服役。由于这个可靠性问题,我对pi没有做任何重要的事情,它只是从几个地方聚合数据并提供JSON。即使π不再听,光子也更可靠,因此它控制着重要/危险的物质(加热器、锂电池)。希望这有点帮助,但也许一些重新连接的逻辑将解决问题。
https://stackoverflow.com/questions/65198172
复制相似问题