串口(uart)开发流程

UART概述

UART全称,Universal Asynchronous Receiver and Transmitter (UART), 一般是每个单片机或开发板必备的一个功能模块,可以用来调试,也可以用来连接一些模块(如,GPS,蓝牙等)。uart具体配置功能或者说应该怎么配置,实际上在硬件设计上已经固定了,例如在SOC芯片设计的时候已经设计UART的数量,使用方法。当你在使用的UART的时候仅仅根据你的需求进行配置相关寄存器来使用即可。

UART开发流程

1.了解UART原理

在开发的过程中,你只要知道,UART需要连接三根线。一根是RX用来接收数据,一根是TX用来发送数据,还有一根是GND用来给双方提供电平参考即可。连接示意图如下:
在这里插入图片描述
一般也有用RS-232逻辑电平来增加数据的抗干扰能力和传输数据,只不过是电平的表示方法而已,本文不做过多解释,有需要的可以参考其他文章,运用原理都是一样的。
UART数据帧中可以有5、6、7或8位数据。发送方一位一位的改变数据线的状态,将数据发送出去,首先从低位开始发送。如果需要校验功能,UART在发送数据后还要发送一位校验位。校验方式可以分为:奇偶校验,也就是数据位连同校验位的“1”的数目等于奇数或者偶数。

uart控制器内部原理如下图所示:
uart控制器原理图从图中可以看出,不管时接受端(RX)还是发送端(TX)都有一个移位寄存器和一个FIFO(这个不是必须的,有些MCU可能没有),通过配置相关的寄存器来收发数据即可。

2.明确目标

Each UART contains a baud-rate generator, transmitter, receiver and a control unit
在了解UART基本原理之后,你要明白你使用UART的目的是什么,uart是否可以满足你的需求。如果可以满足你的目的,你需要配uart什么样的功能。具体的可以参考芯片手册。

The following sections describe the UART operations that include data transmission, data reception, interrupt
generation, baud-rate generation, Loopback mode, Infrared mode, and auto flow control.

3.开发代码

(1)将所涉及的UART通道管脚设为UART功能
(2)设置波特率
(3)设置数据格式
(4)选择时钟源和中断方式

/* 115200,8n1 */
void uart0_init()
{
   
	/* 设置引脚用于串口 */
	
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值