1.串口(UART)是一种非常常见的外设,串口在嵌入式开发领域当中一般作为一种调试手段,通过串口输出调试打印信息,或者通过串口发送指令给主机端进行处理;除了作为基本的调试手段之外,还可以通过串口与其他设备或传感器进行通信。
2.串口(UART)在嵌入式 Linux 系统中常作为系统的标准输入、输出设备, 系统运行过程产生的打印
信息通过串口输出;同理,串口也作为系统的标准输入设备, 用户通过串口与 Linux 系统进行交互。
所以串口在 Linux 系统就是一个终端,引出“终端(Terminal)”。
3.终端 Terminal
终端就是处理主机输入、输出的一套设备,它用来显示主机运算的输出,并且接受主机要求的输入。
典型的终端包括显示器键盘套件,打印机打字机套件等。其实本质上也就一句话,能接受输入、能显示输出。
4.终端的分类
⚫ 本地终端: 例如对于我们的个人 PC 机来说, PC 机连接了显示器、键盘以及鼠标等设备,这样的一个显示器/键盘组合就是一个本地终端;
同样对于开发板来说也是如此,开发板也可以连接一个LCD 显示器、键盘和鼠标等,同样可以构成本地终端。
⚫ 用串口连接的远程终端: 对于嵌入式 Linux 开发来说,这是最常见的终端—串口终端。
譬如我们的开发板通过串口线连接到一个带有显示器和键盘的 PC 机,在 PC 机通过运行一个终端模拟程序,譬如 Windows 超级终端、 putty、 MobaXterm、 SecureCRT 等来获取并显示开发板通过串口发出的数据、同样还可以通过这些终端模拟程序将用户数据通过串口发送给开发板 Linux 系统,系统接收
到数据之后便会进行相应的处理、譬如执行某个命令,这就是一种人机交互!
⚫ 基于网络的远程终端: 譬如我们可以通过 ssh、 Telnet 这些协议登录到一个远程主机。
以上列举的这些都是终端,前两类称之为物理终端;最后一个称之为伪终端。前两类都是在本地就直接
关联了物理设备的,譬如显示器、鼠标键盘、串口等之类的,这种终端叫做物理终端,而第三类在本地则没有关联任何物理设备,注意,不要把物理网卡当成终端关联的物理设备,它们与终端并不直接相关,所以这类不直接关联物理设备的终端叫做伪终端。
5.每一个终端在/dev 目录下都有一个对应的设备节点
/dev/ttyX(X 是一个数字编号,譬如 0、 1、 2、 3 等) 设备节点: ttyX(teletype 的简称)是最令人
熟悉的了,在 Linux 中, /dev/ttyX 代表的都是上述提到的本地终端, 包括/dev/tty1~/dev/tty63 一共
63 个本地终端, 也就是连接到本机的键盘显示器可以操作的终端。事实上, 这是 Linux 内核在初始化时所生成的 63 个本地终端。
/dev/pts/X(X 是一个数字编号,譬如 0、 1、 2、 3 等)设备节点:这类设备节点是伪终端对应的设备节点。伪终端对应的设备节点都在/dev/pts 目录下、以数字编号命令。
6.在 Linux 系统下,我们可以使用 who 命令来查看计算机系统当前连接了哪些终端。
对于终端来说,其应用编程内容无非包括两个方面的内容:配置和读写;