`cat /dev/ttyACM` 通过 netcat 传输时丢失数据

`cat /dev/ttyACM` 通过 netcat 传输时丢失数据

我正在读取Raspberry Pi 上/dev/ttyACM0使用的数据。cat /dev/ttyACM0数据来自设备,该设备以以下形式发送行

15.00   1316013 15

其中第一个数字是一个值,第二个数字是来自设备的毫秒时间戳。

当我这样做时,cat /dev/ttyACM0 > file.csv我每 12~13 毫秒收到一个值,但是当我通过网络执行完全相同的操作时,我每 5 秒就会收到 1~2 秒的间隙。

是否有可能某个地方丢失了数据?或者操作系统会阻止串行设备,因此必须等待几秒钟才能发送更多数据?串行设备和管道网络命令之间有任何关系吗?

我正在使用netcatssh来传输数据。设备正在以 9600 bps 的速率发送数据

答案1

事实证明cat /dev/ttyACM0 | awk并不完全相同</dev/ttyACM awk

正如 cpugeniusmv 所评论的那样,awk 也进行缓冲。

相关内容