UART寄存器介绍

来源:百度文库 编辑:神马文学网 时间:2024/04/28 05:24:25
 UARTn_BR: UART波特率寄存器
UARTn_BR[15:0]: 由定时器的装入寄存器定时装入相应内容。
                UARTn_CR.Run=0可以装入直到UARTn_CR.Run=1才写入无效
               
UARTn_TxBUFR:UART传输寄存器
UARTn_TxBUFR[8]: 传输数据第八位或者奇偶校验位或者唤醒位或者未定义的位有相应操作模式决定
     1.如果是001模式则此位写0
     2.如果是8+校验111模式则此位由UART自己处理写入 软件操作无效
UARTn_TxBUFR[7]: 传输数据第七位或者奇偶校验位
     1.如果是7+校验011模式同样此位由UART自己处理写入 软件操作无效
UARTn_TxBUFR[6:0]:数据位


UARTn_RxBuffer: UART接收寄存器
RX[9]:桢错误标志1表示此桢有问题
RX[8]:接收数据位8,或者奇偶校验位或者唤醒位
RX[7]:接收数据位7,或者奇偶校验位
RX[6:0]:数据位

UARTn_CR:UART控制寄存器
CR[15-11]保留都是0
CR[10]FifoEnble队列模式0关闭 表示TxFIFO认为是包含了16位数据才是满栈
              1是开启 表示TxFIFO认为当前就是才是满栈直接置TxFULL位
CR[9]SCENBLE 智能卡关闭还是开启不使用则置0
CR[8]RxEnble 接收功能关闭开启 由下降沿来触发RXD脚初始化
CR[7]Run=0波特率无用 =1则有用
CR[6]LoopBack=0标准的接收和发送模式 =1是特殊模式。此位只由UART无效被改变
CR[5]ParityOdd选择奇偶校验=0则为偶校验 =1为奇校验
CR[43]StopBits 00 0.5停止位 01是1个停止位 10是1.5个 11是2个
CR[2:0] MODE 5种模式


UARTn_IER UART的中断允许寄存器
15-9保留位为0
8 RxHalfFullIE 接收存储器超过8位则置
7 TimeoutIdleIE 接收队列无数据切超时记数为0则置
6 TimeNotoutIdleIE 接收队列有数据切超时记数为0则置
5..1

UART_SR UART状态寄存器
9 TXFULL 发送寄存器包含16个位
8 RxHalfFull 接收到超过8个位
7 TimeoutIdle RxFIFO为空并且超时
6 TimeNotoutIdle RxFIFO不为空并且超时
5 OverrunError数据正在接收并且接收缓冲满
4 FramError 当接收队列包含一个接收贞错误标志
3 ParityError 当接收队列里包含一个检验错误
2 TxHalfEmpty 传输队列一半是空
1 TxEmpty 传输队列为空


UART_GTR UART的保护发生时间
7-0 八位时间值给用户来定义程序传输为空的探测时钟延迟

UART_TOR UART超时机制
7-0超时装载计数器


UART_TxRSTR 传输寄存器清除寄存器
UART_RxRSTR 接收寄存器清除寄存器
只写写入后将会清空相应的接收或者传输寄存器RxFIFO or TxFIFO