STM32基础篇:USART(同步异步收发器)

一、什么是USART

USART是同步异步收发器,它的作用就是用来收发数据

同步和异步的区别

二、USART有什么用

  • 嵌入式系统调试
    • 在嵌入式系统开发过程中,UART 是一种非常重要的调试工具。开发人员可以通过 UART 将微控制器中的调试信息(如变量的值、程序执行的状态等)发送到外部设备(如计算机)。例如,在开发一个基于 ARM Cortex - M 系列微控制器的智能家居控制系统时,开发人员可以使用 UART 将传感器数据读取的状态、执行的控制命令等信息发送到计算机上的串口调试助手软件,以便及时发现程序中的问题。
  • 简单设备间通信
    • 用于连接微控制器和一些简单的外部设备,如传感器和执行器。以连接一个温度传感器和微控制器为例,温度传感器通过 UART 接口将采集到的温度数据发送给微控制器。由于温度数据更新速度相对较慢,对传输速度要求不高,UART 完全可以满足这种简单的数据传输需求。同样,对于一些简单的执行器,如小型舵机,微控制器也可以通过 UART 发送控制指令来控制舵机的角度。
  • 模块通信
    • 在物联网设备中,许多通信模块(如蓝牙模块、Wi - Fi 模块等)都支持 UART 接口。例如,当将一个蓝牙模块与微控制器连接时,通过 UART 接口可以方便地实现数据的传输。微控制器可以将需要发送的数据通过 UART 发送给蓝牙模块,蓝牙模块再将数据无线发送出去;反之,蓝牙模块接收到的数据也可以通过 UART 接口传递给微控制器进行处理。

三、USART如何使用(配置)

软件设计思想

1.串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能

2.使能串口

3.使能相关中断

3.1配置中断服务函数

4.发送数据到串口,DR

发送字符:

发送字符串:

5.接受数据,从DR读取接受到的数据

6、串口printf设置

//加入以下代码,支持printf函数,而不需要选择use MicroLIB	  
#if 1
#pragma import(__use_no_semihosting)             
//标准库需要的支持函数                 
struct __FILE 
{ 
	int handle; 
}; 

FILE __stdout;       
//定义_sys_exit()以避免使用半主机模式    
void _sys_exit(int x) 
{ 
	x = x; 
} 
void _ttywrch(int ch)
{
	ch = ch;
}
//重定义fputc函数 
int fputc(int ch, FILE *f)
{ 	
	while(USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET);//循环发送,直到发送完毕   
	USART_SendData(USART1,ch);				
	return ch;
}
#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值