我使用jpnevulator来嗅探读取串行端口的应用程序:
jpnevulator --tty /dev/ttyS0 --read让我们假设以下字节被发送到串口:B、C、D、E。有时jpnevulator只打印字节:A、C、E,而应用程序得到字节。
jpnevulator应该打印字节:A,B,C,D,E,应用程序也应该得到所有字节:a,B,C,D,E,出了什么问题?我应该使用一些选项来运行jpnevulator吗?
发布于 2018-09-17 15:39:42
不熟悉jpnevulator,但一般情况下:如果有两个应用程序从一个tty读取,那么只有一个应用程序将获得数据。
如果您想复制数据,您必须创建第二个(或第三个) tty,并让应用程序从中读取。
一种方法是使用类似于小母线的东西。然后,您可以将jpnevulator附加到一个新的tty,并将您的应用程序附加到另一个。
另一种方法是将socat与-x或-v结合使用。
socat -x PTY,link=/tmp/ptya /dev/ttyS0然后将应用程序指向/tmp/ptya,而socat将十六进制的流量转储到stderr。
https://unix.stackexchange.com/questions/469573
复制相似问题