与 ttyUSB0 上的 FTDI FT245RL 通信时出现问题。在 Win7x64 上运行良好

与 ttyUSB0 上的 FTDI FT245RL 通信时出现问题。在 Win7x64 上运行良好

我购买了一个Sainsmart 4通道USB中继板这似乎是基于 FTDI FT245RL 芯片。我应该很容易使用。当您插入它时,它会显示为串行端口(VCP)。您向它发送三个字节,告诉它要打开和关闭什么。例如 \xFF\x00\x01 仅打开继电器 1,而 \xff\x00\x03 打开继电器 1 和 2。

我编写了一个非常简单的 python 程序来在 Debian 挤压机上进行测试:

import serial
ser = serial.Serial('/dev/ttyUSB0') # Defaults to 9600 8N1
ser.open()
ser.write(chr(255) + chr(0) + chr(3))
ser.close

……然后什么也没发生。有时我什么也得不到,有时又阻塞。我在一台 win7x64 机器上安装了驱动程序,并将一行更改为指向 COM3,效果很好。然后我在 CentOS 5 机器上尝试了一下,它在这里也不起作用。我不认为这是权限,我已将用户分别添加到 dialout 和 uucp 组中。我也以 root 身份尝试过。我能够在 Debian 上设置 udev 规则,这似乎有效。如果我做LSSB,这是相关结果:

Bus 005 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

如果我执行 stty -F /dev/ttyUSB0 -a 我得到

speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^A; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 0; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

相关内容