串口笔记

串口参数的设置一般包括波特率、起始位数量、数据位、停止位和流控协议。在接收端和发送端要配置成一样的参数设置。

串口的参数设置为115200,8,‘N’,1。也就是波特率是115200,8位数据位,无奇偶校验位,1位停止位。

在发送程序运行后,要立即关闭minicom,否则,接受程序不能接受到数据。这个是我使用中断时出现的问题,当我使用select是没有此问题

应用程序空间的打开串口open操作调用了tty_ops中的tty_open,然后tty_open又对应的调用了uart_ops中的uart_open这个函数,这个函数还是tty层次里面的还不涉及驱动层!

##1.TTY概念解析 
在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。 
1.1串口终端(/dev/ttyS*) 
串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。这些串行 
端口所对应的设备名称是/dev/ttySAC0;/dev/ttySAC1…… 
1.2控制台终端(/dev/console) 
在Linux系统中,计算机的输出设备通常被称为控制台终端(Console),这里特指printk信息输出到的设备。 
/dev/console是一个虚拟的设备,它需要映射到真正的tty上,比如通过内核启动参数”console=ttySAC0”就把console映射到了串口0 
1.3虚拟终端(/dev/tty*) 
当用户登录时,使用的是虚拟终端。使用Ctcl+Alt+[F1—F6]组合键时,我们就可以切换到tty1、tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名

TTY架构

Linux tty子系统包含:tty核心,tty线路规程和tty驱动。

  1. tty核心是对整个tty设备的抽象,对用户提供统一的接口,
  2. tty线路规程是对传输数据的格式化,
  3. tty驱动则是面向tty设备的硬件驱动。

猜你喜欢

转载自blog.csdn.net/c1063891514/article/details/81119903