一、什么是串口通信
串口通信在32中是一种基本的通信方式,用于在STM32微控制器和其他设备之间数据传输。
STM微控制器通常具有多个通用异步收发器(USART),SPI和I2C等串行通信接口。其中USART通常被用来实现串口通信,可以作为UART(通用异步收发器)进行配置。
在STM32中,串口通信可以通过配置USART接口的寄存器,设置波特率、数据位、停止位和校验位等参数来实现。通过编程控制USART模块,STM32可以通过串口与其他设备进行数据交换,如PC、传感器、显示器等。
STM32串口通信常见的应用包括与PC进行数据通信、与外部传感器进行数据采集和控制、与其他嵌入式设备进行通信等。串口通信是STM32中非常常用和重要的通信方式,为嵌入式系统的开发提供了灵活而丰富的通信手段。
二、cubeMx实现串口通信
端口配置
RCC
SYS
通过USART实现串口通信
NVIC
DMA
生成keil文件
main.c文件中全部代码
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2023 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "dma.h"
#include "usart.h"
#include "gpio.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* USER CODE END PV */<