【USART】STM32实现USART 串口通信功能

一、前言

串口通信(USART/UART)是最常见的 MCU 与外部设备(如 PC、传感器、模块)通信方式之一,STM32F103C8T6 内置多个串口资源(USART1、USART2、USART3),可用于调试输出、设备通讯等应用。

本篇博客将使用 USART1 实现最基础的收发功能,内容包括:

  • USART 基本原理
  • GPIO + 串口配置
  • 使用标准库完成串口初始化与发送
  • 利用串口调试助手观察效果

二、USART 通信原理

串口是一种 异步通信协议,通信格式如下:

起始位 + 数据位 + 校验位(可选)+ 停止位

通信参数示例:

  • 波特率:9600 / 115200(常见)
  • 数据位:8 位
  • 停止位:1 位
  • 校验位:无
  • 全双工(支持收发)

三、硬件连接

信号线 STM32F103C8T6 引脚 说明
TX PA9 数据发送
RX PA10 数据接收
GND GND 地线共用

可使用 USB 转串口模块(如 CH340、CP2102)连接到电脑进行调试。


四、GPIO 与 USART1 初始化(标准库实现)

1. 开启时钟 & 初始化 GPIO

void USART1_GPIO_Init(void)
{
   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE);

    GPIO_InitTypeDef GPIO_InitStructure;

    // TX - PA9
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  // 复用推挽
    GPIO_Init(GPIOA, &GPIO_InitStructure)<

你可能感兴趣的:(stm32,单片机,嵌入式硬件)