licheedev / Android-SerialPort-API

Fork自Google开源的Android串口通信Demo,修改成Android Studio项目
https://code.google.com/archive/p/android-serialport-api/
Apache License 2.0
1.3k stars 374 forks source link

请教,串口开机自启时,写数据有延时 #8

Closed VeiZhang closed 5 years ago

VeiZhang commented 5 years ago

串口通信在开机时自启动,App应用接收数据没问题;但是App写数据发送给对方,存在一定的延时,20秒左右。

把串口连接断开,起机时,通过PC端工具发送数据,对方能很快接收到。

此现象有解吗?

licheedev commented 5 years ago

延时这个没遇到过,完全无法通信(接线和ttl电平转换问题)或者分包(收几次才收全)倒是常见。 可以检查一下硬件用的串口,是232还是485的。 232是全双工的,发数据和回数据可以同时进行。 485则是半双工,如果串口设备在正在返回数据给Android板的时候,Android板是无法同时发数据给串口设备的,要等接收收据结束之后,才能继续写数据。这种情况,就要把收发写成同步的(不要开一个读线程一直读),发完数据后立即阻塞接收,完成整个过程后才继续发送。

VeiZhang commented 5 years ago

@licheedev :smile::smile:好的,谢谢!我按照你的方法尝试一下。