1、介绍:串口是一种非常常见一种外设,(UART)也是嵌入式开发过程中常用的一种输出调试打印信息 作用:串口除了常用的调试手段之外,还可以进行串口与其他传感器之间进行通信。
2、串口应用编程介绍:串口在嵌入式系统中作为系统的标准输入、输出设备,Linux在运行过程中产生打印信息通过串口输出,同样的方法,串口作为系统的标准输入设备,用户通过串口与Linux系统进行交互。因此,串口在linux系统中也是一个终端。
3、在Linux系统中,对应串口的设备节点为/dev/ttymxcX: 在Linux开发板中,有两个串口(不同的板子串口个数有差异),对应的设备节点为:/dev/ttymxc0 /dev/ttymxc2
这个地方可能有个疑问?为什么是ttymxc0和ttymxc2 解答:是因为板子在引出串口的时候,用了uart1和uart3,因此数字就是0和2。
4、既然知道了设备节点,那么接下来可以使用串口进行应用编程了。其实,串口的应用很简单,直接通过read和write函数可以向串口中读取数据或者写入数据。
5、struct termios结构体----这是是串口控制的核心结构---重点
struct termios { tcflag_t c_iflag; /* input mode flags */ 输入模式 tcflag_t c_oflag; /* output mode flags */输出模式; tcflag_t c_cflag; /* control mode flags */控制模式; tcflag_t c_lflag; /* local mode flags */本地模式; cc_t c_line; /* line discipline */线路规程; cc_t c_cc[NCCS]; /* control characters */特殊控制字符; speed_t c_ispeed; /* input speed */输入速率; speed_t c_ospeed; /* output speed */输出速率。 };
总结:Linux内核中,串口的应用编程,核心就是配置对应的核心结构体,然后,让每个结构体按照串口通信协议的内容进行操作。完成通信的功能即可。