STM32F4xx系列使用HAL库配置串口

本文介绍了STM32使用HAL库配置串口的步骤,包括时钟设置、外设初始化、波特率配置及中断处理。强调了CubeMX生成的初始化代码,并提醒注意引脚配置与电路板的匹配,以防调试困扰。同时展示了如何进行串口回显实验,通过重定向printf到串口实现数据发送。
摘要由CSDN通过智能技术生成

串口协议概述

USART框图

 

 

HAL库配置串口

RCC时钟配置成外部晶振高速时钟

SYS中Debug配置成Serial Wire

时钟频率根据自己的需要设置一下

串口配置

 

串口配置逻辑

一、定义一个UART_HandleTypeDef结构体句柄

二、通过HAL_UART_MspInit函数实现串口外设的底层初始化(HAL_UART_MspInit本身是一个弱定义的形式,用户可根据自己的需要重新配置,若无配置则执行系统的初始化定义)

1。使能UART外设时钟

2、配置UART使用的引脚模式

3、如果要用中断,就配置中断

4、如果要用DMA,就配置DMA

三、通过前面定义的UART_HandleTypeDef结构体句柄,来配置串口的波特率、数据字长、停止位、奇偶校验位、硬件流控制。

四、通过调用HAL_UART_Init()函数,来将串口配置为异步模式。

接下来看看CubeMX配置的初始化代码

 

 

 

以上就是CubeMX为我们定义好的,我们依旧只需要写中断处理函数,来完成我们需要的功能。

这里有一个问题,就是注意相关的引脚配置,可能官方的UART引脚和你电路板上USB转串口的引脚没对应上,这个时候需要对应开发板原理图检查,然后把引脚配置正确,否则程序逻辑上没问题,然后DeBug起来真的是折磨

串口回显实验

定义好串口配置之后,我们只需要重定义中断处理函数即可

 

 重定向C库函数printf到串口发送

 

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值