读/写系统调用从/向哪个缓冲区读/写数据

时间:2013-08-22 09:42:17

标签: c linux serial-port

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

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

2 个答案:

答案 0 :(得分:0)

read()write()通过调用open()来通过所谓的文件描述符访问数据。

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

可以使用"/dev/ttySX"将串行设备命名为X={0..N}

答案 1 :(得分:0)

你为什么担心:

  

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

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

  

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

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

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