STM32F0xx_GPIO配置详细过程

推荐

分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang

 

我的网站:https://www.strongerhuang.com

我的知乎:https://www.zhihu.com/people/strongerHuang.com

 

 

前言

对于初学STM32的人来说,很多基础的知识没有掌握,这些基础知识就成为阻挡他们入门的门槛。因此,今天也把基础的知识分享出来,带领那些还没有迈过这个门槛的人入门。

今天总结“GPIO配置详细”,以F0标准外设库初始化结构体来重点讲解。接着昨天“新建软件工程详细过程”来进行讲解,今天分两大部分内容总结。工程描述、IO配置源代码详细讲解。

 

下载

ST标准外设库和参考手册、数据手册等都可以在ST官网下载的到(请自行下载)。关于F0系列芯片的参考手册有多个版本(针对F0不同芯片),但有一个通用版本,就是“STM32F0x128参考手册V8(英文)2015-07”建议使用这个,以后如果你换用一种型号芯片也方便了解。

今天提供下载的软件工程其实和昨天差不多,只是多了IO配置的中文注释,方便了解。

今天的软件工程下载地址(360云盘):

https://yunpan.cn/cSE9Rmyu6SyMZ  访问密码 3b8f

 

STM32F0xx的资料可以在我360云盘下载:

https://yunpan.cn/cS2PVuHn6X2Bj  访问密码 8c37

 

工程描述

①文件夹描述

针对初学者描述一下工程的基本信息。解压软件工程包,打开就看到如下图文件,红色框出来的部分主要是用于软件工程里面的源代码文件。

STM32F0xx_GPIO配置详细过程_第1张图片

App: 应用部分代码(如我们写的一些应用文件)

Bsp: 底层代码(如底层驱动文件)

Doc: 文档(这里添加一些对工程的描述)

Libraries: 标准库(提取标准外设库)

Listings: 编译生成列表文件

Objects: 编译生成目标文件

GPIO:这两个文件是工程文件
删除编译产生垃圾文件:需要打包整个工程的时候,双击这个文件可删除不需要的文件(如上面两个文件夹Listings和Objects下的文件)。

 

②结构描述

当我们用MDK-ARM软件直接打开软件工程,就可以看到下图所示的结构,将文件夹的“Libraries”分为三项,如下图:

STM32F0xx_GPIO配置详细过程_第2张图片

 

 

源代码详情

①RCC时钟

STM32F0xx_GPIO配置详细过程_第3张图片

该函数位于bsp.c文件下面;

我个人习惯第一步配置时钟,ST官方提供的例程也是把配置时钟放在前面。

为了防止大家修改来使用其他端口而忘记配置RCC,这里将F0常用的几个端口都配置上(实际应该使用那些端口才配置)。

 

②IO配置

STM32F0xx_GPIO配置详细过程_第4张图片

该函数位于bsp.c文件下面;

这里的配置就是对一个“输入输出IO”的初始化配置,也就是对结构体“GPIO_InitStructure”进行初始化。这里面主要就是对那其中的五个参数初始化。

关于结构体“GPIO_InitTypeDef”详情可以Go To Definition...或者选中“GPIO_InitTypeDef”、按下F12,跳转到定义关于“GPIO_InitTypeDef”的定义,详情请看下面③的讲解。

 

GPIO_InitTypeDef详情

STM32F0xx_GPIO配置详细过程_第5张图片

STM32F0xx_GPIO配置详细过程_第6张图片

 

参数1GPIO_Pin引脚:GPIO_Pin_0  -  GPIO_Pin_15

STM32F0xx_GPIO配置详细过程_第7张图片

 

参数2GPIO_Mode模式: 输入GPIO_Mode_IN、输出GPIO_Mode_OUT、GPIO_Mode_AF复用功能、GPIO_Mode_AN模拟功能

STM32F0xx_GPIO配置详细过程_第8张图片

 

参数3GPIO_Speed速度: 低速GPIO_Speed_2MHz、中速GPIO_Speed_10MHz、高速GPIO_Speed_50MHz

STM32F0xx_GPIO配置详细过程_第9张图片

 

参数4GPIO_OType输出类型(只对输出起作用):推完输出GPIO_OType_PP、漏极输出GPIO_OType_OD

STM32F0xx_GPIO配置详细过程_第10张图片

 

参数5GPIO_PuPd上下拉: 浮空GPIO_PuPd_NOPULL、上拉GPIO_PuPd_UP、下拉GPIO_PuPd_DOWN

STM32F0xx_GPIO配置详细过程_第11张图片

 

说明

STM32F0的芯片软件兼容性很好,可以适用于F0的很多芯片(具体请看手册、或者亲自尝试)。

 

 

最后

我的网站:https://www.strongerhuang.com

我的微信公众号(ID:strongerHuang)还在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus…等更多精彩内容,如果想查看更多内容,可以关注我的微信公众号。

 

微信公众号

 

 

你可能感兴趣的:(STM32F0,STM32F0,IO配置详细过程,软件工程)