UART寄存器详解

1.UART行控制寄存器ULCONn(ULCON0, R/W, Address = 0xEC00_0000)
ULCONn的含义如表8-2所示。
表8-2  ULCONn的含义
ULCONn 描述 初始状态
Reserved [7]  0
Infra-Red Mode [6] 是否使用红外模式
0=正常模式
1=红外模式
0
Parity Mode [5:3] 校验方式
0XX=无奇偶校验
100=奇校验
101=偶校验
110=校验位强制为1
111=校验位强制为0
000
Number of Stop Bit [2] 停止位数量
0=1个停止位
1=2个停止位
0
Word Length [1:0] 数据位个数
00=5bit 01=6bit
10=7bit 11=8bit
00
2.UART行控制寄存器UCONn(UCON0,R/W Address = 0xEC00_0004)
寄存器详细说明如表8-3所示。
表8-3  UCONn
UCONn 描 述 初 始 值
Clock Selection [11:10] x0:PCLK 做比特率发生
01:UART_CLK
11 = SCLK_UART
0
Tx Interrupt Type [9] 0:Tx 中断脉冲触发
1:Tx 中断电平触发
0
Rx Interrupt Type [8] 0:Rx 中断脉冲触发
1: Rx 中断电平触发
0
Rx Time Out Enable [7] 0:接收超时中断不允许
1: 接收超时中断允许
0
续表
UCONn 描 述 初 始 值
Rx Error Status
Interrupt Enable
[6] 0:不产生接收错误中断
1: 产生接收错误中断
0
Loopback Mode [5] 0:正常模式
1: 发送直接传给接收方式(Loopback)
0
Reserved [4] 0:正常模式发送
1: 发送间断信号
0
Transmit Mode [3:2] 发送模式选择
00:不允许发送
01:中断或查询模式
10:DMA0 请求
11: DMA1 请求
00
Receive Mode [1:0] 接收模式选择
00:不允许接收
01:中断或查询模式
10:DMA0请求
11:DMA1请求
00
3.UART FIFO 控制寄存器UFCONn(UFCON0,R/W,ADDRESS = 0xEC00_0008)
寄存器详细说明如表8-4所示。
表8-4  UFCONn的含义
UFCONn 描 述 初 始 值
Tx FIFO Trigger Level [7:6] 决定发送FIFO的触发位置
00=0个字节时触发
01=16个字节时触发
10=32个字节时触发
11=48个字节时触发
00
Rx FIFO Trigger Level [5:4] 决定接收FIFO的触发位置
00=1个字节时触发
01=8个字节时触发
10=16个字节时触发
11=32个字节时触发
00
Reserved [3] 保留 0
Tx FIFO Reset [2] Tx FIFO复位后是否清零
0=不清零 1=清零
0
Rx FIFO Reset [1] Rx FIFO复位后是否清零
0=不清零 1=清零
0
FIFO Enable [0] 使能FIFO功能
0=不使能 1=使能
0
4.UART MODEM控制寄存器UMCONn(UMCON0,R/W,ADDRESS = 0xEC00_000C)
寄存器详细说明如表8-5所示。
表8-5  UMCONn的含义
UMCONn 描 述 初 始 值
RTS trigger Level [7:5] 如果自动流控制位使能,
则以下位将决定失效nRTS信号:
000 = RX FIFO 填充63字节
001 = RX FIFO 填充56字节
010 = RX FIFO 填充48字节
011 = RX FIFO 填充40字节
100 = RX FIFO 填充32字节
101 = RX FIFO 填充24字节
110 = RX FIFO 填充16字节
111 = RX FIFO 填充8 字节
000
Auto Flow Control (AFC) [4] 0:不允许使用AFC模式
1:允许使用AFC 模式
0
Reserved [3:1] 保留,必须全为0 00
Request to Send [0] 0:不激活nRTS
1:激活nRTS
0
5.发送寄存器UTXHn和接收寄存器URXHn
这两个寄存器存放着发送和接收的数据,在关闭FIFO的情况下只有一个字节8位数据。需要注意的是,在发生溢出错误时,接收的数据必须被读出来,否则会引发下次溢出错误。
6.比特率分频寄存器UBRDIVn
用于串口比特率的设置。S5PC100引入了UDIVSLOTn,使得波特率的设置比早期处理器更加精确。下面以设置波特率为115200为目标,介绍设置方法。
DIV_VAL = (PCLK / (bps*16 ) ) -1
=66.75M/115200*16 - 1      //PCLK由系统时钟提供,此为设定66.75M
=35.214
UBRDIVn = 35(DIV_VAL的整数部分)。
(UDIVSLOTn中1的数量)/16 = 0.2。
(UDIVSLOTn中1的数量) = 3。
根据手册中的建议3 0x0888(0000_1000_1000_1000b)11 0xDDD5(1101_1101_1101_0101b)选择"UDIVSLOTn = 0x0888; "。
7.串口状态寄存器UTRSTATn(UTRSTAT0,R,ADDRESS = 0xEC00_0010)
寄存器详细说明如表8-6所示。
表8-6  UTRSTATn的含义
UTRSTATn 描 述 初 始 值
Transmitter empty [2] 发送缓冲和发送移位寄存器是否都为空
0=否
1=是
1
Transmit buffer empty [1] 关闭FIFO的情况下,发送缓冲是否为空
0=不为空
1=空
1
Receive buffer data ready [0] 关闭FIFO的情况下,接收缓冲是否为空
0=空
1=不为空
0

  • 9
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MFRC522是一种常用的射频识别模块,而MCU UART则是一种通信接口,用于与外部设备进行数据交互。接下来将给出一个关于MFRC522与MCU UART接口读写寄存器实现的时序实例。 首先,我们需要将MFRC522与MCU UART接口进行连接。通过串口连接TXD和RXD引脚,实现数据的传递。同时,MCU UART接口与MCU主控芯片连接,以实现与MFRC522之间的通信。 接下来,我们假设要读取MFRC522的一个寄存器的值。首先,MCU向MFRC522发送读取寄存器的指令。此时,MCU将数据发送给MFRC522,通过MCU UART接口传输给MFRC522。 MFRC522接收到指令后,开始执行读取寄存器的操作,并将所需寄存器的值通过MCU UART接口返回给MCU。MCU接收到数据后,将数据存储到相应的变量中。 实际的读取过程中,要注意时序的处理。首先,在发送指令之前,需要等待MFRC522准备好。一般来说,可以通过查询MFRC522的状态寄存器来判断其是否可用。如果MFRC522准备好了,MCU就可以发送读取寄存器的指令。 在发送指令后,MCU需要等待一段时间,以确保MFRC522完成读取寄存器的操作。待MFRC522将寄存器的值准备好后,通过MCU UART接口返回给MCU。MCU接收到数据后,可以进行相应的处理或者存储。 需要注意的是,时序实例可能因具体的芯片型号、通信协议以及编程语言的不同而有所差异。因此,在具体的实际应用中,需要参考相关的硬件文档和软件开发工具,以确保正确的读写寄存器操作。 总结起来,MFRC522与MCU UART接口读写寄存器的时序实例,主要包括发送读取指令、等待MFRC522完成操作、接收MFRC522返回的数据等步骤。通过正确的时序处理,可以实现MFRC522与MCU UART接口之间的寄存器读写操作。 ### 回答2: MFRC522和MCU UART接口主要用于读写寄存器进行时序控制,下面以实例方式进行说明。 步骤1:将MFRC522与MCU UART接口进行连接,确保连接正确稳定。 步骤2:MCU通过UART发送特定的命令到MFRC522,例如读取或写入寄存器。 步骤3:MFRC522收到MCU发送的命令后,根据命令类型执行相应的操作。 步骤4:如果命令为读取寄存器,则MFRC522将相关寄存器的值通过UART传输给MCU。 步骤5:如果命令为写入寄存器,则MFRC522接收MCU发送的值,并将其写入到指定的寄存器中。 步骤6:MCU通过UART接收到从MFRC522传输过来的数据或确认信号。 步骤7:MCU根据接收到的数据进行相应的处理。 步骤8:整个读写寄存器的过程中需要考虑时序,确保MFRC522和MCU之间的数据收发是同步的。 步骤9:读写寄存器的时序需要满足MFRC522与MCU的通信规定,例如波特率、起始位、停止位等。 步骤10:MFRC522与MCU之间的时序实例包括:MCU发送读取寄存器命令、MFRC522接收到命令并读取寄存器的值、MFRC522将寄存器的值通过UART发送给MCU、MCU接收到寄存器的值并进行进一步处理。 通过以上实例,可以实现MFRC522与MCU UART接口的读写寄存器时序控制,实现数据的可靠传输和处理。 ### 回答3: MFRC522与MCU之间的通信是通过串行通信接口(UART)来实现的。串行通信接口通常有一个发送线和一个接收线,用于在MFRC522和MCU之间传输数据。 要实现读写寄存器的时序实例,我们首先需要确保MFRC522和MCU之间的串行通信接口的连接是正确的。这包括将发送线连接到MCU的串行输出(TX)引脚,将接收线连接到MCU的串行输入(RX)引脚,并且确保两个设备的地线(GND)是连接的。 下面是具体的时序实例: 1. 读寄存器的时序实例: a. MCU将读寄存器的命令(例如0x01)发送给MFRC522,通过UART发送线发送。 b. MFRC522接收到命令后,将所需的寄存器的值通过UART接收线发送回MCU。 c. MCU接收到MFRC522发送的值后,将其存储在合适的变量中。 2. 写寄存器的时序实例: a. MCU将写寄存器的命令(例如0x02)和所需的值(例如0x55)发送给MFRC522,通过UART发送线发送。 b. MFRC522接收到命令和值后,将所需的值写入相应的寄存器。 c. 对于每个写操作,MFRC522可能会发送一个回复(例如0x00表示写操作成功)给MCU,MCU可以通过UART接收线接收该回复。 需要注意的是,时序实例中的命令、寄存器地址和值都是示例,在实际应用中可能会有所不同。此外,时序实例中没有涉及到具体的时钟同步和握手过程,这些属于更高级别的通信协议的一部分。在实际应用中,还需要考虑时钟同步和握手等因素,以确保MFRC522和MCU之间的通信正常进行。 总之,通过串行通信接口(UART),可以实现MFRC522与MCU之间的读写寄存器操作。具体的时序实例需要根据具体的硬件和软件平台来确定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值