串口控制器都是大同小异,用3条地址线就可以完全对串口控制器进行控制。针对ST554芯片来说,控制寄存器主要有THR(发送保持寄存器),RHR(接收保持寄存器),IER(中断使能寄存器),FCR(缓冲控制寄存器),LCR(控制寄存器),LSR(状态寄存器),MCR(模式控制寄存器),MSR(模式状态寄存器),DLL,DLM和测试寄存器等。
代码演示为linux-2.6.18。一般情况下,我们只要修改结构体uart_8250_port的赋值和中断处理函数。在uart_8250_port中的uart_port结构是比较重要的,有些变量需要根据自己的需求进行修改,如下所示。
up->port.iobase = old_serial_port[i].port;
up->port.irq = irq_canonicalize(old_serial_port[i].irq); up->port.uartclk = old_serial_port[i].baud_base * 16; up->port.flags = old_serial_port[i].

本文介绍了Linux下8250串口控制器的驱动编写,重点涉及控制寄存器如THR、RHR、IER等,并提及了在linux-2.6.18版本中的代码修改,尤其是结构体uart_8250_port的配置和中断处理函数的调整。
的编写与调试&spm=1001.2101.3001.5002&articleId=6326965&d=1&t=3&u=05be38b60ec642178207cc73753d742b)
975

被折叠的 条评论
为什么被折叠?



