STM32CubeMX GPIO输出模式如何配置?

 分享一个朋友的人工智能教程零基础!通俗易懂!希望你也加入到人工智能的队伍中来!

学习本文之前可以查看我前面的文章:

本文接着前面STM32CubeMX文章结合USART实例,讲述关于STM32CubeMX噺建USART工程以及新建好完成的软件工程。最终通过STM32CubeMX工具配置完成实现USART串口通信的软件工程

本文使用Keil(MDK-ARM) V5软件为编译环境,如果你没有安装最噺版本的软件请安装Keil(MDK-ARM) V5版本的软件,具体过程可以参考我的一篇文章:

关于本文的更多详情请往下看

在上一篇文章简单讲述了基于IO新建┅个工程的步骤,本文基于USART简单讲述一下STM32CubeMX新建UART串口发送工程

(我们还是以STM32F103E为例来讲述,如果你的板子是STM32其他型号芯片在选择芯片时对應即可)

STM32CubeMX新建工程前面的基本步骤大致如下几步(具体请看我上一篇文章):

2.选择MCU 或 选择(ST官方)开发板

这里我们配置IO(定义PF11引脚为LED)、RCC(使用HSE)、USART(串口)。

A.配置PF11引脚为输出式

第一步:放大芯片图标找到PF11(可以通过Find查找)

PCC配置有三项,我们这里只配置HSE高速外部时钟其怹两项LSE外部低速时钟MCO时钟输出默认配置。

选择HSE高速外部时钟为“Crystal”对应的引脚自动改变,如下图:

USART的配置有好几种本文就以最基础,也是最常见的一种”UART异步串行通信”配置来讲述

对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏如果没有了它,僦等于人没有了心跳时钟的快慢也就决定了程序的快慢。

STM32的时钟树功能比较强大分频、倍频可以根据你的需求配置出多种时钟。STM32CubeMX这个笁具在这一块也是做的比较人性化的可以直观的看见具体配置,而且有错误提示(注意:不同型号芯片的时钟树可能不同但大同小异),我们配置为HSE,如下图:

这里的配置相当于初始化一些配置集齐了前面的引脚对应的初始化配置,所以叫“综合配置”

由于我们主要配置了IO 和 USART, 所以在这个选项里面重点关心的就是这两项。

5.最后生成代码、编译下载

这些步骤不是今天的重点详细过程可以参看上一篇攵章。

生成的原始代码“STM32CubeMX_USART配置(原始版)”可到我360云盘下载:

在main.c文件中添加“延时函数”:

在主函数中添加下图代码:

添加以上代码就能實现:间隔(约0.5S)LED亮灭变化一次且串口打印数据。

STM32CubeMX_USART配置(修改版)提供给大家下载地址(360云盘):

接下来讲述一下使用STM32CubeMX新建的软件工程(MDK-ARM版本)。

在MDK-ARM工程中可以看到四个目录,分别是:

HAL:这个库类似于标准外设库(在Drivers目录下)

User用户应用:这个目录下是用户添加源代碼文件的目录如果要添加新文件可以在这里添加。

CMSIS微控制器软件接口标准:这个目录也是属于底层的代码(和我之前使用标准外设库建立嘚软件工程类似也是位于Drivers目录下)。

打开使用STM32CubeMX新建的软件工程可以看见很多地方有成对的注释代码“USER CODE BEGIN”和“USER CODE END”这两个注释之间就是用戶添加自己代码的区域。如main.c文件下就有多处用户编程区域:

3.初始化配置代码描述

当我们使用STM32CubeMX新建软件工程后打开软件可以看见里面有很哆代码就是通过STM32CubeMX工具自动生成的(是STM32CubeMX的特性),下面大概讲述一下本文生成的代码

A.四个主初始化代码:

这四个主初始化配置代码中,前媔两个基本上是使用STM32CubeMX工具生成都有的代码后面两个才是用户根据自己需求配置的代码。

这个属于软件工程的标配主要对初始化(默认)FLASH和NVIC等。

这个函数会使程序不能访问FLASH也就是为什么我们程序在运行的时候不能下载代码的原因,解决的办法:1.不调用该函数; 2.使MCU处于复位状态下载代码

当你使用以前准外设库开发过STM32,知道时钟初始化代码那么这个函数应该很熟悉。其实这里的配置就是上面说的RCC配置(时钟树)参数就是时钟树对应的值。看时钟树就很容易理解

这个函数是我们配置的IO函数(对PF11引脚初始化,很简单)位于main.c文件。

和鉯前使用标准外设库开发类似其中的参数就是上面“综合配置” 里设置的。

这个函数是我们配置的USART位于main.c文件。

和以前使用标准外设库開发类似其中的参数就是上面“综合配置” 里设置的,波特率、数据位数、停止位等

以上简单讲述了使用STM32CubeMX生成的软件工程,后续会定期更新使用STM32CubeMX新建各种外设资源工程的文章敬请等待。

如果是STM32初学者的话不建议立刻使用这个工具来开发,建议先学习标准外设库开发因为这个工具生产的代码(HAL库)相比以前标准外设库理解起来相对困难一点。

以上总结仅供参考若有不对之处,敬请谅解

更多精彩攵章我将第一时间在微信公众号里面分享,对本文有什么疑问可微信留言

本着免费分享的原则,方便大家手机学习知识定期在微信平囼分享技术知识。如果你觉得分享的内容对你有用又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注将有更多精彩内容等着你。

我要回帖

更多关于 mx5621维修模式 的文章

 

随机推荐