·UARTO内部结构示意图 TxDO UOIIR UOIER UOTHR UOTSR UODLM UODLL UOLCR UOLSR RxDO UORBR UORSR 与CPU内 VPB 核相连 接口 UOFCR 接收缓存 接收移位寄存器 3.接收数据的通道
U0THR U0TSR TxD0 U0RBR U0RSR RxD0 U0LCR U0LSR U0IIR U0IER VPB 接口 U0FCR 与CPU内 核相连 U0DLM U0DLL 3.接收数据的通道 • UART0内部结构示意图 U0RBR U0RSR VPB 接口 接收缓存 接收移位寄存器
·UARTO内部结构示意图 中断标志 TxDO UOIIR UOIER UOTHR UOTSR UARTO UODLM UODLL UOLCR UOLSR 当前状态 RxDO UORBR UORSR 与CPU内 VPB 核相连 接口 UOFCR 4.通信过程中可能影响的标志位
U0THR U0TSR TxD0 U0RBR U0RSR RxD0 U0LCR U0LSR U0IIR U0IER VPB 接口 U0FCR 与CPU内 核相连 U0DLM U0DLL 4.通信过程中可能影响的标志位 • UART0内部结构示意图 U0LSR U0IIR 中断标志 UART0 当前状态
·UART0相关寄存器描述一接收缓存寄存器 TxDO UOIIR UOIER UOTHR UOTSR UODLM UODLL UOLCR UOLSR B明 UOIIR UOIER UOTHR UOTSR 与CPU內 核相连 UODLM UODLL UOLCR UOLSR RxDO UORBR UORSR UORB 与CPU内 VPB 苗达 复位值 R 核相连 接口 UOFCR 7:0 接收缓存寄存器,心巴丁安收FFO中最早接收到的字节 未定义 UORSR移位寄存器从RxD0引脚接收的有效数据将被送到接收FFO中。 通过读取UORBR寺存器可以将接收FIFO中最早接收到的字节读出,当FIFO 中不再包含有效数据时,该寄存器反映接收到的最后一个有效字节数据。 接收的数据不足8位时,高位用0填充。 注意:UORBR只读。访问该寄存器时,UOLCR的除数锁存访问位(DLAB) 必须为0
• UART0相关寄存器描述 U0THR U0TSR TxD0 U0RBR U0RSR RxD0 U0LCR U0LSR U0IIR U0IER VPB 接口 U0FCR 与CPU内 核相连 U0DLM U0DLL U0RBR U0RB R 描述 复位值 7 : 0 接收缓存寄存器,它包含了接收FIFO中最早接收到的字节 未定义 U0RSR移位寄存器从RxD0引脚接收的有效数据将被送到接收FIFO中。 通过读取U0RBR寄存器可以将接收FIFO中最早接收到的字节读出,当FIFO 中不再包含有效数据时,该寄存器反映接收到的最后一个有效字节数据。 接收的数据不足8位时,高位用0填充。 注意: U0RBR只读。访问该寄存器时,U0LCR的除数锁存访问位(DLAB) 必须为0。 ——接收缓存寄存器 U0THR U0TSR TxD0 U0RBR U0RSR RxD0 U0LCR U0LSR U0IIR U0IER VPB 接口 U0FCR 与CPU内 核相连 U0DLM U0DLL
·UART0相关寄存器描述一发送器保持寄存器 TxDO UOIIR UOIER UOTHR UOTSR UODLM UODLL UOLCR UOLSR RxDO UORBR UORSR 与CPU内 VPB 核相连 接口 UOFCR UOTHR 描述 复位值 7:0 发送器保持寄存器,写入该寄存器的值保存到发送FFO中,当该字节 到达FIFO底部时,它将被送入发送移位寄存器(U0TSR)进行发送。 未定义 写入该寄存器的值将是发送FFO中的最高字节。访问该寄存器时, UOLCR的除数锁存访问位(DLAB)必须为0。 注意:UOTHR只写。它的地址与UORBR相同,通过读/写操作予以区分
• UART0相关寄存器描述 U0THR U0TSR TxD0 U0RBR U0RSR RxD0 U0LCR U0LSR U0IIR U0IER VPB 接口 U0FCR 与CPU内 核相连 U0DLM U0DLL U0THR 描述 复位值 7 : 0 发送器保持寄存器,写入该寄存器的值保存到发送FIFO中,当该字节 到达FIFO底部时,它将被送入发送移位寄存器(U0TSR)进行发送。 未定义 写入该寄存器的值将是发送FIFO中的最高字节。访问该寄存器时, U0LCR的除数锁存访问位(DLAB)必须为0。 注意: U0THR只写。它的地址与U0RBR相同,通过读/写操作予以区分。 U0THR ——发送器保持寄存器
·UARTO相关寄存器描述一除数锁存寄存器 TxDO UOIIR UOIER UOTHR UOTSR UODLM UODLL UOLCR UOLSR RxDO UORBR UORSR 占CDLI内A VPB 名称 描述 复位值 U0DLL[7:0] 除数锁存寄存器低字节 两个寄存器一起构成一个16位的除数, U0DLM[7:0] 除数锁存寄存器高字节 决定UARTO的波特率。 未定义 这两个寄存器决定波特率时钟的频率,而波特率时钟必须是波特率的 16倍。波特率计算公式如下: BaudRate FpCLK ([UODLM,UODLL]X16) 注意:由于UODLL、UODLM寄存器与其它寄存器的地址重叠,所以在访问 它们时,UOLCR的除数锁存访问位(DLAB)必须为1
U0THR U0TSR TxD0 U0RBR U0RSR RxD0 U0LCR U0LSR U0IIR U0IER VPB 接口 U0FCR 与CPU内 核相连 U0DLM U0DLL U0THR U0TSR TxD0 RxD0 U0LCR U0LSR U0IIR U0IER U0DLM U0DLL • UART0相关寄存器描述 名称 描述 复位值 U0DLL[7:0] 除数锁存寄存器低字节 两个寄存器一起构成一个16位的除数, 决定UART0的波特率。 未定义 U0DLM[7:0] 除数锁存寄存器高字节 这两个寄存器决定波特率时钟的频率,而波特率时钟必须是波特率的 16倍。波特率计算公式如下: BaudRate = FPCLK / ([U0DLM,U0DLL]×16) ——除数锁存寄存器 U0DLM U0DLL 注意:由于U0DLL、U0DLM寄存器与其它寄存器的地址重叠,所以在访问 它们时,U0LCR的除数锁存访问位(DLAB)必须为1