我正在尝试反转 90 年代早期逻辑分析仪及其 PC 软件使用的协议。该设备通过 RS-232(专有接线)连接并与 DOS 程序通信,在 DOSBOX 上成功运行。
我可以使用原始软件控制设备,但使用自定义程序从分析仪下载数据会很有用,但这样做我需要知道串行端口上发生了什么。
需要知道串行端口设置的模式是什么,而我确定数据速率是 1200 或 9600 bps(可在设备上配置)我不知道流量控制(我猜它是 RTS/CTS)。
我还需要在不干扰他们通信的情况下利用程序和设备之间的对话。
用另一个程序(cutecom/minicom)读取串行端口会阻止仿真器从硬件接收数据。
所以,总结一下,我需要知道的是:
- /dev/ttyS0 上设置了什么配置(我认为是通过 IOCTL 调用)
- 程序和设备之间发生了什么。
我正在考虑编写一个充当标准 c 库代理的库(通过 LD_PRELOAD),但必须有一种更简单的方法来做到这一点。