我在 .NET 中编写了一个程序,它侦听特定的串行端口并处理正在接收的数据。我使用 com0com(Null-modem 模拟器)编写了一个测试程序,我的程序运行良好。我什至用超级终端对其进行了测试,似乎也可以正常工作。
但是,当我将软件与原始设备(从控制系统接收的输出)连接时,接收到的数据是乱码。它包含特殊字符。与超级终端连接时,同一设备会产生所需的输出。我更改了波特率、奇偶校验等,但收到的数据是同一组垃圾字符。
我使用了 SerialPort 组件的 DataReceived 事件,并使用以下代码行来捕获数据:
字符串数据 = portRecieve.ReadExisting();
有人能告诉我我错过了什么吗?在当前环境中,设备的输出直接与点阵打印机连接,该打印机打印端口上接收到的任何内容。打印机似乎捕捉到了正在发送的内容,但我的代码不能。
如果您遇到过类似的情况,请分享您的发现。
谢谢