概述
在 arm 设备中串口是很常用的一个外设,不仅可以用来打印信息,还可以用于外接设备和其他传感器通信。根据不同的电平,串口分为 TTL 和 RS232,但是在Linux内核中的驱动程序是一样的,在串口上外接RS485 类似的芯片就可以把 RS232 信号转换为 RS485 信号,非常方便。在 i.MX6UL 终结者开发板上,RS232、
RS485 和GPS模块都接到了 UART3 接口上,内核驱动都是一样的。在本章来学习一下串口驱动。
53.1 Linux 下的 UART 驱动框架
53.1.1 uart_driver 结构体
在 Linux 中 uart 和 I2C、SPI 一样,提供了串口驱动框架,只需要按照提供的串口框架函数编译驱动即可。一般来说串口驱动都已经实现好了,我们需要做的就是在设备树文件中,添加相应的设备节点。当设备和驱动匹配成功后,串口就能够正常工作。
在 Linux 中,用 uart_driver 结构体来描述串口,uart_driver 定义在 include/linux/serial_core.h 文件中,内容如下:
295 struct uart_driver {
296 struct module *owner; /* 模块所属者 */
297 const char *driver_name; /* 驱动名字 */
298 const char *dev_name; /* 设备名字 */
299 int major; /* 主设备号 */
300 int minor; /* 次设备号 */
301 int nr; /* 设备数 */
302 struct console *cons;
最后
以上就是尊敬大白为你收集整理的迅为linux下串口,迅为IMX6ULL开发板Linux RS232/485驱动实验(上)的全部内容,希望文章能够帮你解决迅为linux下串口,迅为IMX6ULL开发板Linux RS232/485驱动实验(上)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复