串口通信小试牛刀——STM32串口通信USART输出Hello world

一、STM32的USART简介

通用同步异步收发器是一个串行通信设备,可以灵活的与外部设备进行全双工数据交换。有别与USART,还有一个UART,它在USART基础上裁剪掉了同步通信功能,只有异步通信。简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用的串口通信基本都是
UART。 串口通信一般是以帧格式传输数据,即一帧一帧传输,每帧包含有起始信号、数据信息、停止信息,可能还有校验信息。 USART
满足外部设备对工业标准 NRZ 异步串行数据格式的要求,并且使用了小数波特率发生器,可以提供多种波特率,使得它的应用更加广泛。USART
支持同步单向通信和半双工单线通信;还支持局域互连网络 LIN、智能卡(SmartCard)协议与 lrDA(红外线数据协会) SIR
ENDEC规范。 USART支持使用 DMA,可实现高速数据通信。

二、实验

一、STM32CubeMX

①选择STM32F103C8
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加项目名称:
在这里插入图片描述
勾选
在这里插入图片描述
生成程序;
在这里插入图片描述
用Keil打开;
在这里插入图片描述

三、 Keil

打开项目;
在这里插入图片描述
添加代码;
在main中的while循环中添加以下代码:

	//发送的数据
		char data[]="hello windows!\n";
		//发送
		HAL_UART_Transmit(&huart1, (uint8_t *)data, 15, 0xffff);
		//高电平点亮A4
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);
		
		//延时一秒
		HAL_Delay(100);
		//低电平熄灭A4
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);
		HAL_Delay(900);

在这里插入图片描述
魔法棒设置:
在这里插入图片描述
进行build;
在这里插入图片描述
debug,打开UART1窗口以及仿真示波器窗口
在这里插入图片描述
run;
在这里插入图片描述

参考文献

STM32系统学习——USART(串口通信)

猜你喜欢

转载自blog.csdn.net/changlingMYlove/article/details/121040773