我正在使用 Linux (TinyCore)。作为工作过程的一部分,我必须使用串行设备来传输数据。然而,我遇到了严重的麻烦。
问题的关键在于似乎没有传输任何数据。关于命令的使用:
echo 'hello' > /dev/ttyS0
终端似乎挂起了一会儿,然后程序完成,似乎没有任何数据传输(接收端没有任何数据)。当我尝试接收时:
cat < /dev/ttyS0
并尝试从连接的设备发送一些内容,但似乎没有收到任何内容。
关于设备的设置。以下是我运行的相应命令的输出:
dmesg | grep tty
00:05: ttyS0 at I/0 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
数字与我从 BIOS 中看到的数字相对应
stty -F /dev/ttyS0
speed 9600 baud; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^0;
min = 1; time = 0;
-brkint -imaxbel
当使用 setserial 测试时我得到:
setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
我该怎么做才能确定没有传输任何内容的原因并修复它?