您的位置:首页 > 其它

整理LPC2300系列单片机的UART配置相关

2014-09-04 13:04 399 查看
LPC2300系列共有4路uart: uart1带有Modem功能(可实施远距离传输) uart3有irDA功能 红外传输

接收单元RX端: RBR + RXFIFO + UNRSR

波特率发生器: 控制、状态寄存器(UNLSR + UNFCR +UNLCR) + 波特率发生器(UNDLM + UNDLL + UNFDR)

发送单元TX端; THR + TXFIFO + UNTSR

LPC2300系列每个UART都有一个波特率发生器,时钟源是PCLK

16 * Baud = Fpclk / (UnDLM: UnDLL)

具有自动波特率发生器: 模式0, 测量起始位下降沿和最低有效数据位下降沿的时间间隔来自动设置波特率。

模式1, 测量起始位的脉宽来自动设置波特率。

可以通过提高分频精度来得到精确的波特率。(小数分频器)

通信模式: start + LSB + Data bit ...... +MSB + Parity + stop bits

UnLCR(线控制寄存器) 设置帧格式 功能 (7) 奇偶选择(5:4) 奇偶设置(3) 停止位(2) 字长(1:0)

LPC2300系列UART有16byte发送FIFO和16byte接收FIFO 可通过UnFCR的Bit 0 使能/禁能 RXFIFO 发送FIFO一直使能。

数据收发过程:查询和中断两种模式。

查询: 通过查询线状态寄存器UnLSR来获得收发状态,并进行相应操作。

中断: 使用中断来处理UART。

发送单元包括: 发送移位寄存器(UnTSR)
发送保持寄存器(UnTHR) 和发送FIFO

UnTSR是 发送FIFO地址最高的部分。

查询方式: 查询FIFO是否为空
查询移位寄存器是否为空

中断方式: 发送数据结束触发中断,

接受单元包括: 接收移位寄存器(UnRSR)
接受缓存寄存器(UNRBR) 和接收FIFO

接受FIFO使能时,可一次接受多个字节。

通过设置FIFO控制寄存器UnFCR[7:6]设定中断触发点 从而触发RDA中断

可以一次读取多个数据,当对UnRBR读操作时,中断标志被清除

字符超时中断 CTI

UART中断类型 (通过查询中断标志UnIIR【3:1】来识别中断类型)

接收线状态中断(RLS)

接收数据可用中断(RDA)

字符超时中断(CTI)

发送中断(THRE)

Modem中断(只有UART1才有此中断)

中断优先级:

RLS

RDA

CTI

THRE

Modem

线状态中断的几种: 奇偶错误(PE) 溢出错误(OE)
间隔中断(BI) 帧错误(FE)

IRda暂时先不看了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐