我们成功地通过Windows 7上的Putty和LINUx上的GNU屏幕与设备进行USB到串行通信。但是有一半使用MAC OS上的终端/屏幕无法实现。
LINUX windows机器上需要简单的基本通信设置:
57600 bps,8位,无奇偶校验,无流量控制
设备成功安装并按此处所述进行分析(抱歉用法语):
Identifiant du produit:0x6160
Identifiant du fournisseur:0x03eb(Atmel Corporation)
版本:1.10
Vitesse:Jusqu'à12Mb / s
识别性进驻:0x06200000 / 2
Courant disponible(mA):500
Courant requis(mA):0
cu.usbmodem621和tty.usbmodem621确实出现在列表中 ls / dev / tty *或ls / dev / cu *
我们在terminal.app上使用以下屏幕命令激活屏幕
screen /dev/tty.usbmodem621 57600
或
sudo screen /dev/tty.usbmodem 57600
最初没有screenrc文件存在,我最终创建了一个稍微调整终端设置并确保没有流控制:
defscrollback 5000
termcapinfo xterm * ti @:te @
defflow off
hardstatus alwayslastline“%{rk}%H%{gk}%c%{yk}%M%d%{wk}%?% - Lw%?%{bw}%n *%f%t%? (%U)%?%{周}%?%+ Lw中%?“
我尝试过没有特定的驱动程序,然后使用以下2个引用
FTDI http://www.ftdichip.com/FTDrivers.htm
多产的PL2303 http://osx-pl2303.sourceforge.net/
我还复制并粘贴了a上列出的所有设置 stty -a 按照LINUX机器。他们在这里:
速度57600波特; 92行; 145列;lflags:icanon isig iexten echo echoe echok echoke -echonl echoctl -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo -extproc
iflags:-istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8 -ignbrk brkint -inpck -ignpar -parmrk
oflags:opost onlcr -oxtabs -onocr -onlret
cflags:cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow -dtrflow -mdmbuf
cchars:discard = ^ O; dsusp = ^ Y; eof = ^ D; eol =; eol2 =; erase = ^?; intr = ^ C; kill = ^ U; lnext = ^ V; min = 1;退出= ^ \;再版= ^ R; start = ^ Q; status = ^ T; stop = ^ S; susp = ^ Z;时间= 0; werase = ^ W;
在所有情况下,设备都会正确接收并解释我们从屏幕终端窗口发送的所有命令,但屏幕无法显示来自设备的任何通信。
我曾尝试过Goserial和Zterm,结果相同。
发生了什么事情的暗示?
答案 0 :(得分:2)
串行通信的common pitfalls包括:
sudo lsof /dev/tty.usbmodem
)使用screen
的替代方法是使用picocom
/ setserial
或cu -l /dev/tty.usbmodem -s 9600
(用于排查目的)。
要获取虚拟串行端口以对screen
进行故障排除,您可以使用以下内容:
socat GOPEN:/dev/ptyp0,ignoreeof TCP:10.0.1.93:10002
确保没有使用流量控制(硬件或软件)。
有关“在Mac OS X中设置串行控制台”的详细信息,请参阅here(例如.plist
启动getty
; screen /dev/cu.usbserial 115200 8N1
的文件。
答案 1 :(得分:1)
在http://changux.co/osx-installer-to-pl2303-serial-usb-on-osx-mou有一个“Mountain Lion上的PL2303串行USB OSX安装程序”。还可以使用MacPorts的最新GNU屏幕进行测试。