0

我正在使用串行端口编程,我有以下疑问请清除它

  1. 读/写系统调用是否直接从 UART 缓冲区读取和写入数据?
  2. “ /proc/tty/driver/serial ”的 Rx 和 Tx指的是哪个缓冲区。

请说清楚。

4

2 回答 2

0

你为什么担心:

读/写系统调用是否直接从 UART 缓冲区读取和写入数据?

内核负责对文件的实际读/写调用,无论它是设备还是数据文件,在设备的情况下,将对相关设备进行 IOCTL 调用并在后台处理它。

“/proc/tty/driver/serial”的Rx和Tx指的是哪个缓冲区。

同样,这是由内核和相关的 IOCTL 调用串行驱动程序通过设备描述符到实际串行端口来处理的。

如果仍有疑问,建议复习一下 Linux/FreeBSD 等 Un*x 环境下的串行端口编程。

于 2013-08-22T10:15:30.670 回答
0

read()write()通过调用open().

open()以串行设备的名称传递。

串行设备可以"/dev/ttySX"X={0..N}.

于 2013-08-22T10:07:37.773 回答