一、串口UART
串口看手册介绍具有异步收发功能…一大串不说了。可以将数据显示在终端打印出来,我们主要作用用于调试工具。
对于编程,只需要驱动TXD与RXD寄存器。它们分别是对于数据的收发存储的register。
对于串口内部结构,而言一个收一个发。编程而言设置时钟源以及设置各类寄存器,对于收发数据挂靠DCE/DTE接口中,我们需要使用TX_DATA,RX_DATA.。
二、串口寄存器
UART_URxD寄存器保存串口接收的数据
UART_UT XD寄存器用于发送数据。
UART_UCR1 设置bit 0, 14, UCR2寄存器设置 bit 0 ,1 ,2 ,5 , 6, 7, 8 ,UCR3 bit 2 必须设置为1。
UART_UFCR 的bit 9-7设置分频值。UART的时钟源是PLL3/6=80M
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GcZg21ko-1590056605207)(\图片\18_UARTCLK.png)]
UART_UFCR,UART_BIR, UART_BMR寄存器决定了波特率。
UART_USR2寄存器的状态寄存。
三、串口程序
bsp_uart.c
/*115200 Baut Rate*/
void Uart_Init_115200(UART_Type *base)
{
CCM->CSCDR1 &= ~(1 << 6);
CCM->CSCDR1 &= ~0x3f;
Uart_IO_Init(base);
Uart_Disable(base);
Uart_Reset(base);
/*Configure UART*/
base->UCR1 = 0;
base->UCR1 &= ~<