您的位置 首页 分销

LPC系列arm处理器UART操控寄存器

U0RBR:接收器缓存寄存器访问时,先要设定U0LCR的除数锁存访问位(DLAB)为0。因为,U0DLL与U0RBRU0THR在同一地址上。DLAB=1

U0RBR:接纳器缓存寄存器

拜访时,先要设定 U0LCR 的除数锁存拜访位(DLAB)为 0。因为,U0DLL 与U0RBR/U0THR 在同一地址上。

DLAB = 1 时,挑选 U0DLL 和 U0DLM (U0DLM 和 U0IER 在同一个地址上);

DLAB = 0 时,挑选 U0RBR/U0THR 和 U0IER。

U0DLL 和 U0DLM:

构成一个 16 位的除数。

VPB时钟(pclk) 是产生波特率的时钟源,波特率时钟源有必要是波特率的16倍,所以有:

baud_rate = pclk/(16*设定的除数)

UART0 的中止:

有 4 个中止,分别是:

RBR 中止; THRE 中止; Rx 线中止;

其间 RBR 中止里边包括有2个中止:数据可用RDA中止 和 接纳超时 CTI 中止。

FAQ一:

1、什么是 RDA 中止?

当接纳的有用数据抵达接纳FIFO设置寄存器(U0FCR)中设置的触发点时,RDA中止被激活。

U0FCR[7:6]=00 触发点 0(1字节); U0FCR[7:6]=01 触发点 1(4字节);

U0FCR[7:6]=01 触发点 2(8字节);U0FCR[7:6]=01 触发点 1(14字节);

产生中止后,U0IIR[3:0] 内容为:0100。

假如产生中止后,读一下 U0RAR 寄存器,那么就会得到最早抵达的数据。这时,FIFO 中的有用数据小于预订触发点,清零 RDA 中止。

该中止的优先级为 2 。

2、什么是 CTI 中止?

在接纳 FIFO 中,有用的数据少于触发个数时,但至少有一个时,假如长期没有数据抵达,将触发 CTI 中止。这儿所说的“长期”是指在 接纳 3.5~4.5 个字节所需求的时刻。产生中止,则U0IIR[3:0] 内容为:1100。在中止后,若从 U0RBR 中读取接纳FIFO中的数据,或许有新的数据送入接纳FIFO中,这都将清零 CTI 中止。

该中止的优先级为 2。

3、什么是 THRE 中止?

THRE中止是发送中止。产生 THRE 中止的前提条件是FIFO 有必要为空。

假定刚刚产生了一次 THRE 中止,也便是说这时 FIFO 中为空。那么现在往 FIFO 中写入 1 个字节的数据,因为FIFO本来是空的,那这个字节的数据就会被直接写到移位寄存器 U0TSR中,这时 FIFO 必定又是空的。尔后,假如在发送完之前那个字节和中止位后,若还没有数据进来,就会触发 THRE 中止了。那为什么要等这段时刻呢?因为假如当即产生中止,而一起又有数据要进来,则中止就会打断数据的传送。

假定,本来 FIFO 中已经有2个或2个以上的数据,那么FIFO送出这两个数据后就空掉了,那就会当即触发中止。

当 THRE 中止为当时有用的最高优先级中止时,往 U0THR 写数据,或许对 U0IIR 的读操作,将使 HTRE中止复位。

在U0IIR 中,THRE的中止代码为:0110。

该中止的优先级为 3 。

4、什么是 RLS 中止。

RLS中止优先级最高。它产生在 UART0 产生了四个过错中的任何一个时。这四个过错是:

溢出过错(OE)、奇偶过错(PE)、 帧过错(FE)、距离中止(BI)

产生RLS中止时,经过检查 线状况寄存器 U0LSR[4:1] 就可以知道是因为那个过错触发了 RLS 中止。读取 U0LSR 时铲除该中止。

FAQ二:

1、什么是 OE 溢出?

接纳时,在 U0RBR 寄存器中已经有新的字符安排妥当,而此刻接纳 FIFO 正好满了,就产生了溢出。这时 U0LSR[1]

= 1,另触发 RLS 中止。

2、什么是奇偶过错?

奇偶校验过错是在使能奇偶校验之后,对一切接纳的数据都进行奇偶校验,假如与 线状况控制器U0LCR 中的设置不符,将引起奇偶校验过错。(数据位+校验位)

U0LCR[3] = 1 使能奇偶产生和校验;0,则制止。

U0LCR[5:4] = 00 奇数校验; U0LCR[5:4] = 01 偶数校验; U0LCR[5:4] = 10 强制为 1;

U0LCR[5:4] = 11 强制为0。

强制为1或强制为0的意思便是强制校验必为奇或必为偶。

3、什么是帧过错?

当接纳字符的中止位为 0 时,产生帧过错

4、什么是距离过错?

在发送数据时,假如RXD0引脚坚持低电平,将产生距离中止。产生距离中止后,接纳模块中止数据接纳。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/258835.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部