【问题标题】:Are serial port or Serial.Write working differently on Mac and Windows?串行端口或 Serial.Write 在 Mac 和 Windows 上的工作方式是否不同?
【发布时间】:2015-06-11 12:49:35
【问题描述】:

我正在尝试编写一个 Xojo 应用程序来与通过 USB/串行适配器连接到我的 Mac 的设备(ZVT-ECash 终端)进行通信。

我正在 OS X 和 Windows 7(在 Parallels 下运行)上测试我的应用程序。 在这两种情况下,我都通过 Serial.Write 发送一个字符串(总是相同的):

command = chrb(&h10) + chrb(&h02) + chrb(&h06) + chrb(&h00) +chrb(4)...
Serial1.Write(command)

Serial1 是 Serial 控件的一个实例。

当我在 Windows 上运行我的应用程序时,该字符串被设备确认为有效命令,而在 OS X 上未被确认(设备以 NAK 应答)。

在 OS X 上,我也尝试使用 CoolTerm 手动发送相同的字符串,但也没有得到确认。

我做错了什么? Xojo 中的 Serial 控件是否有问题,和/或 Win 和 OS X 下串口的工作方式是否存在一些普遍差异?

【问题讨论】:

  • 谁反对这个需要添加评论解释为什么。这就是规则。不要成为巨魔

标签: macos serial-port usbserial xojo


【解决方案1】:

我自己最近也遇到了类似的问题。原来它与 Xojo 无关(尽管 CoolTerm 也是用 Xojo 编写的)。

问题出在使用“2303”Prolific 芯片的适配器的 OS X 驱动程序上。我发现 Prolific 的驱动程序和开源版本(osx.pl2303)都有问题:前者并不总是正确设置波特率,而后者没有正确处理硬件握手。我的解决方案是从https://www.mac-usb-serial.com 购买驱动程序——它是唯一一个在 OS X 上为我工作的驱动程序,带有两个不同的基于 2303 的适配器。

【讨论】:

  • 我在 Windows 中也遇到过 Prolific 驱动程序的类似问题。
猜你喜欢
  • 1970-01-01
  • 2015-01-26
  • 2017-08-12
  • 2013-09-13
  • 1970-01-01
  • 1970-01-01
  • 2013-10-25
  • 1970-01-01
相关资源
最近更新 更多