第14章通用异步收发器UART1

14.1基本配置

UART1外设的配置需要使用下列寄存器:

a)功率:位于PCONP寄存器中,设置PCUART1位。注:复位时,UART1会被使能(PCUART1=1)。

b)外设时钟:位于PCLK_SEL0寄存器中,选择PCLK_UART1。

c)波特率:位于U1LCR寄存器中(表14.11),将位DLAB置1,从而能够对寄存器DLL(表14.5)和DLM(表14.6)进行访问,设置波特率。同时,若有需要的话,设置小数分频寄存器(表14.18)中的小数波特率。

d)UART FIFO:使用U1FCR寄存器(表14.10)中的FIFO使能位(位0)启动FIFO。

e)管脚:通过PINSEL寄存器选择UART管脚,并通过PINMODE寄存器选择管脚模式。

f)中断:将U1LCR寄存器(表14.11)中的DLAB位置0,使能UART中断。从而能够对U1IER寄存器(表14.7)进行访问。中断的使能是通过在NIVC中使用相应的中断设置使能寄存器(Interrupt Set Enable register)来实现的。

g)DMA:UART1的发送和接收可通过GPDMA控制器进行操作。

有趣的是,如果您想了解如何在ARM平台设备上配置WinCE下的UART,您可以查看这个详细指南。如果您对如何在串口UART1上编写主程序感兴趣,这个链接可能会对您有所帮助。

14.2特性

UART1与UART0/2/3基本相同,只是增加了一个Modem接口和RS-486/EIA-486模式,不支持IrDA;16字节收发FIFO。接收器FIFO触发点可为1、4、8和14字节;寄存器的存储单元符合’550工业标准;内置波特率发生器;包含标准Modem接口信号(CTS、DCD、DTS、DTR、RI、RTS);支持RS-458/EIA-485的9位模式和输出使能;支持DMA送和接收。

如果你需要更多关于波特率设置的信息,不妨看看这个CAN通信波特率设置的资源

14.3管脚描述

表14.1 UART1管脚描述

| 管脚 | 类型 | 描述 |

|------|------|------|

| RXD1 | 输入 | 串行输入管脚。串行接收数据 |

| TXD1 | 输出 | 串行输出管脚。串行发送数据 |

| CTS1 | 输入 | 清除发送。低电平有效,指示外部Modem是否已准备就绪,UART1数据可通过TXD1发送。在Modem接口的正常操作模式(U1MCR[4]=0)下,该信号的补码会被存放在U1MSR[4]中。而状态改变信息会被存放到U1MSR[0]中,如果第4优先级中断使能(U1IER[3]=1),状态改变信息将作为中断源。只有CTS1管脚会被同时用于auto-cts模式,控制UART1发送器清除发送。CTS1是一个异步、低电平有效的Modem状态信号。该信号的状态可通过对Modem状态寄存器的位4(CTS)进行查询来获知。Modem状态寄存器(MSR)的位0(DCTS)指示CTS1的状态在上次读MSR后是否发生了变化。如果使能了Modem状态中断,当CTS1改变电平状态且auto-cts模式又未启动时,中断就会产生。CTS1在auto-cts模式下还会被用于控制发送器(IP_3106) |

若你对配置UART1发送数据感兴趣,何不浏览这个资源,了解更多详细步骤呢?