我最近买了一台TrendNet TU-S9 USB转RS232转换器。我需要与使用RS232 9600波特的微控制器交谈。我用于Linux机器的代码工作得很好。我根据笔记本电脑上的说明和运行OS X 10.6.7的Mac Mini安装了驱动程序。我将设备更改为/dev/cu.usbserial。
这是发生了什么。确实看起来我第一次尝试时沟通会起作用。但是如果我退出进程,我就不能再写入串口设备了。如果我拔下USB连接并重新插入,那么我可以再去一次。即看起来插入USB连接器是将事情重置为可用状态所必需的。
当我第二次尝试启动过程时出现错误时,我可以打开设备,但是第一次尝试通过串行接口发送字节时会发生错误。来自perror的错误是“Serial:No such file or directory”。
我可以通过编写第二个只打开cu.usbserial设备然后永远循环的程序来解决这个问题。但这似乎不是修复它的最好方法。
有没有人看到过这种行为?任何人都可以复制它吗?有谁知道如何解决它?
注意:这可能与之前的帖子Programmatically talking to a Serial Port in OS X or Linux有关,也可能与之不相符。
埃里克
答案 0 :(得分:20)
我确实没有给你答案确切的问题,但我今天使用我的MacBook Pro让TU-S9正常工作时遇到了问题。我有新的2011 MBP运行10.6.7。我从TrendNet安装了驱动程序,并且设备显示在我的System Profiler中作为Prolific USB串行适配器,但是我的终端程序(zterm和goSerial)都没有提供该设备。
我后来发现我需要直接从Prolific下载http://prolificusa.com/pl-2303hx-drivers/(md_PL2303_MacOSX10.6_dmg_v1.4.0.zip)。一旦我安装了最新的驱动程序并重新启动它就能完美运行。
在/ dev我有cu.usbserial和tty.usbserial。通过使用命令“screen tty.usbserial 9600”(它也可以从zTerm工作),我能够使用它们中的任何一个进行终端访问。
希望这有助于某人!