13.UART串口驱动

一、串口UART

​ 串口看手册介绍具有异步收发功能…一大串不说了。可以将数据显示在终端打印出来,我们主要作用用于调试工具。

​ 对于编程,只需要驱动TXD与RXD寄存器。它们分别是对于数据的收发存储的register。

​ 对于串口内部结构,而言一个收一个发。编程而言设置时钟源以及设置各类寄存器,对于收发数据挂靠DCE/DTE接口中,我们需要使用TX_DATA,RX_DATA.。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tuks2d5C-1590056605196)(\图片\20_UART_Init.png)]

​		[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TGj1wvuT-1590056605204)(\图片\19_UART.png)]

二、串口寄存器

​ 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 &= ~<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值