你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 934|回复: 0

STM32F0xx_GPIO配置详细过程

[复制链接]

49

主题

19

回帖

0

蝴蝶豆

金牌会员

最后登录
2019-2-16
发表于 2016-5-28 00:07:02 | 显示全部楼层 |阅读模式
前言
对于初学STM32的人来说,很多基础的知识没有掌握,这些基础知识就成为阻挡他们入门的门槛。因此,今天也把基础的知识分享出来,带领那些还没有迈过这个门槛的人入门。
今天总结“GPIO配置详细”,以F0标准外设库初始化结构体来重点讲解。接着昨天“新建软件工程详细过程”来进行讲解,今天分两大部分内容总结。工程描述、IO配置源代码详细讲解。

下载
ST标准外设库和参考手册、数据手册等都可以在ST官网下载的到(请自行下载)。关于F0系列芯片的参考手册有多个版本(针对F0不同芯片),但有一个通用版本,就是“STM32F0x128参考手册V8(英文)2015-07”建议使用这个,以后如果你换用一种型号芯片也方便了解。
今天提供下载的软件工程其实和昨天差不多,只是多了IO配置的中文注释,方便了解。
今天的软件工程下载地址:
http://yunpan.cn/cSE9Rmyu6SyMZ  访问密码 3b8f

STM32F0xx的资料可以在我360云盘下载:
http://yunpan.cn/cS2PVuHn6X2Bj  访问密码 8c37


工程描述
①文件夹描述
针对初学者描述一下工程的基本信息。解压软件工程包,打开就看到如下图文件,红色框出来的部分主要是用于软件工程里面的源代码文件。
STM32F0xx_GPIO配置详细过程1.png
App: 应用部分代码(如我们写的一些应用文件)
Bsp: 底层代码(如底层驱动文件)
Doc: 文档(这里添加一些对工程的描述)
Libraries: 标准库(提取标准外设库)
Listings: 编译生成列表文件
Objects: 编译生成目标文件
GPIO:这两个文件是工程文件
删除编译产生垃圾文件:需要打包整个工程的时候,双击这个文件可删除不需要的文件(如上面两个文件夹Listings和Objects下的文件)。


②结构描述
当我们用MDK-ARM软件直接打开软件工程,就可以看到下图所示的结构,将文件夹的“Libraries”分为三项,如下图:
STM32F0xx_GPIO配置详细过程2.png



源代码详情
①RCC时钟
STM32F0xx_GPIO配置详细过程3.png
该函数位于bsp.c文件下面;
我个人习惯第一步配置时钟,ST官方提供的例程也是把配置时钟放在前面。
为了防止大家修改来使用其他端口而忘记配置RCC,这里将F0常用的几个端口都配置上(实际应该使用那些端口才配置)。


②IO配置
STM32F0xx_GPIO配置详细过程4.png
该函数位于bsp.c文件下面;
这里的配置就是对一个“输入输出IO”的初始化配置,也就是对结构体“GPIO_InitStructure”进行初始化。这里面主要就是对那其中的五个参数初始化。
关于结构体“GPIO_InitTypeDef”详情可以Go To Definition...或者选中“GPIO_InitTypeDef”、按下F12,跳转到定义关于“GPIO_InitTypeDef”的定义,详情请看下面③的讲解。


GPIO_InitTypeDef详情
STM32F0xx_GPIO配置详细过程5.png
STM32F0xx_GPIO配置详细过程6.png


参数1:GPIO_Pin引脚: GPIO_Pin_0  -  GPIO_Pin_15
STM32F0xx_GPIO配置详细过程7.png


参数2:GPIO_Mode模式: 输入GPIO_Mode_IN、输出GPIO_Mode_OUTGPIO_Mode_AF复用功能、GPIO_Mode_AN模拟功能
STM32F0xx_GPIO配置详细过程8.png


参数3:GPIO_Speed速度: 低速GPIO_Speed_2MHz、中速GPIO_Speed_10MHz、高速GPIO_Speed_50MHz
STM32F0xx_GPIO配置详细过程9.png


参数4:GPIO_OType输出类型(只对输出起作用):推完输出GPIO_OType_PP、漏极输出GPIO_OType_OD
STM32F0xx_GPIO配置详细过程10.png


参数5:GPIO_PuPd上下拉: 浮空GPIO_PuPd_NOPULL、上拉GPIO_PuPd_UP、下拉GPIO_PuPd_DOWN
STM32F0xx_GPIO配置详细过程11.png


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

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版