Uart Subsystem
Reference https://www.kernel.org/doc/Documentation/serial/driver Introduction 波特率 115200,bps 每秒传输的 bit 数。 每一位 1/115200 秒,传输 1byte 需要 10 位(start, data, stop),那么每秒能传 11520byte。 115200,8n1。8:data,n:校验位不用,1:停止位。 TTY 体系中设备节点的差别 不关心终端是真实的还是虚拟的,都可以通过/dev/tty 找到当前终端。 /dev/console 内核的打印信息可以通过 cmdline 来选择打印到哪个设备。 console=ttyS0 console=tty console=ttyS0 时,/dev/console 就是 ttyS0 console=ttyN 时,/dev/console 就是/dev/ttyN console=tty 时,/dev/console 就是前台程序的虚拟终端 console=tty0 时,/dev/console 就是前台程序的虚拟终端 console 有多个取值时,使用最后一个取值来判断。 /dev/tty 和/dev/tty0 区别 /dev/tty表示当前进程的控制终端,也就是当前进程与用户交互的终端。 /dev/tty0则是当前所使用虚拟终端的一个别名 Linux 串口应用编程 https://digilander.libero.it/robang/rubrica/serial.htm struct termios options; open("/dev/ttyS1", O_RDWR | O_NOCTTY | O_NDELAY)// O_NOCTTY: 不用作控制终端 O_NDELAY: 使 I/O 变成非阻塞模式 fcntl(fd, F_SETFL, 0): //读数据时,没有数据则阻塞等待 fcntl(fd, F_SETFL, FNDELAY): //读数据时不等待,没有数据就返回 0 /* c_cflag: Control Options */ options....