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

目录

  • 一、STM32的USART简介
  • 二、实验
    • 一、STM32CubeMX
    • 三、 Keil
  • 参考文献

一、STM32的USART简介

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

二、实验

一、STM32CubeMX

①选择STM32F103C8
串口通信小试牛刀——STM32串口通信USART输出Hello world_第1张图片
串口通信小试牛刀——STM32串口通信USART输出Hello world_第2张图片
串口通信小试牛刀——STM32串口通信USART输出Hello world_第3张图片
添加项目名称:
串口通信小试牛刀——STM32串口通信USART输出Hello world_第4张图片
勾选
串口通信小试牛刀——STM32串口通信USART输出Hello world_第5张图片
生成程序;
在这里插入图片描述
用Keil打开;
串口通信小试牛刀——STM32串口通信USART输出Hello world_第6张图片

三、 Keil

打开项目;
串口通信小试牛刀——STM32串口通信USART输出Hello world_第7张图片
添加代码;
在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);

串口通信小试牛刀——STM32串口通信USART输出Hello world_第8张图片
魔法棒设置:
串口通信小试牛刀——STM32串口通信USART输出Hello world_第9张图片
进行build;
在这里插入图片描述
debug,打开UART1窗口以及仿真示波器窗口
串口通信小试牛刀——STM32串口通信USART输出Hello world_第10张图片
run;
串口通信小试牛刀——STM32串口通信USART输出Hello world_第11张图片

参考文献

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

你可能感兴趣的:(stm32,单片机,arm)