首页 > 电脑专区 > 电脑教程 >

STM32F411RE串口通信

来源:互联网 2023-02-20 18:24:51 85

一个基于HAL库的串口通信操作,使用的是STM32F411RE,基础配置代码是通过STM32CubeMX生成的,个人操作记录,希望对需要的朋友有用。qMJ办公区 - 实用经验教程分享!

工具/原料

  • STM32CubeMX
  • Keil
  • 串口调试工具

用MX生成HAL基础代码

  • 1

    新建一个STM32CubeMX工程,选择STM32F411RE芯片,切换到Pinout页。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 2

    展开“USART2”,选择“Mode”右侧的组合框,选择“Asynchronous”即异步模式。配置完成后右边的引脚会有相应提示,USART2对应的端口是TX-PA2,RX-PA3。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 2此文章非法爬取自百度经验
  • 3

    切换到“Configuration”页,可以看到刚使能的USART2,点击它。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 4

    在弹出的“USART2 Configuration”对话框中选择“Parameter Settings”,配置好波特率、停止位等信息。比如我这里选择的波特率是9600,8位数据,无校验,1个停止位。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 5

    切换到“GPIO Settings”配置端口模式,一般保持默认即可,主要是需要用串口的复用模式。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 6

    NVIC Settings是配置中断向量,因为只是测试一下串口,这里暂不做选择。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 7

    代码配置完成,点击菜单栏的“Project”->"Generate Code"生成代码。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 8

    代码生成的配置这里就不多说了,请看图,有不明白的可以百度下。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 补全HAL功能代码

  • 1

    打开刚刚用MX生成的工程,这里选择的是Keil工程。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 2

    在main函数最前面的用户区域定义一个字符串“Hello world !rn”,记得加回车换行,这个用于测试串口。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 3

    在main函数的主循环中添加一个串口发送函数:HAL_UART_Transmit(&huart2, myStr, strlen(myStr), 1000);函数的作用是以阻塞方式将保存在myStr中的数据发送到huart2指向的串口,发送长度是strlen(myStr)也就是这个字符串的长度,1000是超时允许的最大值这个单位视SysTick而定,一般是1ms。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 4

    另外附上其它串口初始的主要代码,我的的HAL库版本是STM32Cube_FW_F4_V1.21.0qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 5

    串口调试如下,可以看到通信是成功的,注意波特率等基本参数要匹配。qMJ办公区 - 实用经验教程分享!

    STM32F411RE串口通信qMJ办公区 - 实用经验教程分享!

  • 注意事项

    • 1、如果是NECLEO-F411RE开发板,请使用USART1,因为USART2被ST-LINK占用了,开发板引出的两个TX和RX用不了的,得花很多心思去更改接线方式。
    • 2、注意发送和接收波特率的配置。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!qMJ办公区 - 实用经验教程分享!


    标签: 硬件通信

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码