我正在使用串行端口编程,我有以下疑问请清除它
- 读/写系统调用是否直接从 UART 缓冲区读取和写入数据?
- “ /proc/tty/driver/serial ”的 Rx 和 Tx指的是哪个缓冲区。
请说清楚。
我正在使用串行端口编程,我有以下疑问请清除它
请说清楚。
你为什么担心:
读/写系统调用是否直接从 UART 缓冲区读取和写入数据?
内核负责对文件的实际读/写调用,无论它是设备还是数据文件,在设备的情况下,将对相关设备进行 IOCTL 调用并在后台处理它。
“/proc/tty/driver/serial”的Rx和Tx指的是哪个缓冲区。
同样,这是由内核和相关的 IOCTL 调用串行驱动程序通过设备描述符到实际串行端口来处理的。
如果仍有疑问,建议复习一下 Linux/FreeBSD 等 Un*x 环境下的串行端口编程。
read()
并write()
通过调用open()
.
open()
以串行设备的名称传递。
串行设备可以"/dev/ttySX"
用X={0..N}
.