【发布时间】:2013-08-22 18:15:30
【问题描述】:
我正在使用串口编程,我有以下疑问请清除它
- Read/Write 系统调用是否直接从 UART 缓冲区读取和写入数据?
- “/proc/tty/driver/serial”的 Rx 和 Tx 指的是哪个缓冲区。
请澄清。
【问题讨论】:
标签: c linux serial-port
我正在使用串口编程,我有以下疑问请清除它
请澄清。
【问题讨论】:
标签: c linux serial-port
read()和write()通过调用open()返回的所谓文件描述符访问数据。
open() 以串行设备的名称传递。
串行设备可以命名为"/dev/ttySX" 和X={0..N}。
【讨论】:
你为什么担心:
Read/Write 系统调用是否直接从/向读取和写入数据 UART缓冲区?
无论文件是设备还是数据文件,内核都会处理对文件的实际读/写调用,在设备的情况下,将对相关设备进行 IOCTL 调用并在后台处理它。
“/proc/tty/driver/serial”的Rx和Tx指的是哪个缓冲区。
同样,这是由内核和相关的 IOCTL 调用串行驱动程序通过设备描述符到实际串行端口来处理的。
如果仍有疑问,建议复习一下 Linux/FreeBSD 等 Un*x 环境下的串行端口编程。
【讨论】: