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

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暂时先不看了!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值