目前,我们有一个 Torrey LPC-40L 数字秤,通过串行端口连接到 Raspberry Pi。我们发现,如果我们通过串口向秤发送字母“P”,它就会发回当前的重量。这已经有效了。我们有一个在 Pi 上运行的简单 Java 程序,它发送一个“P”,取回重量,然后使用它。
我们正在尝试将其移植到 Windows 计算机(并弃用 Pi),但不幸的是,似乎在 Windows 中发送完全相同信号,我们没有得到任何响应,但是空气死气沉沉。
Pi 使用常规串行电缆(RS-232 到 RS-232)连接; Windows 机器通过串行转 USB 电缆连接。当我插入所有设备时,串行设备成功显示在设备管理器中(证明 Windows 可以看到它)。
我找到了一个简单的串口调试程序,名为Serial Port Utility在 Windows 机器上进行测试。该实用程序可以看到端口已连接,它可以打开该端口,并且可以向其发送数据(同样,只是尝试发送字母“P”),但我们绝对没有得到任何回应。 p>
为什么会有所不同?我知道它应该可以工作,因为当我将它插入 Raspberry Pi 时,它确实可以工作。那么为什么它不能在 Windows 中运行呢?更重要的是,我需要做什么才能让它在 Windows 中开始响应?
最佳答案
所以,订购 RS-232 line monitor 后并聘请了一名电气工程师,我们能够解决这个问题。显然,USB 转串口电缆有效地颠倒了引脚排列。因此,就好像我们有一个男性串行设备与男性容器通信,而不是男性与女性。通过放置 null modem adapter在这之间,这解决了一切。
关于serial-port - 为什么串行端口设备在不同的环境或使用不同的电缆时不会响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26007663/