STM32F0xx_ GPIO配置详细过程

前言
对于初学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
工程描述
①文件夹描述
针对初学者描述一下工程的基本信息。解压软件工程包,打开就看到如下图文件,红色框出来的部分主要是用于软件工程里面的源代码文件。
app: 应用部分代码(如我们写的一些应用文件)
bsp: 底层代码(如底层驱动文件)
doc: 文档(这里添加一些对工程的描述)
libraries: 标准库(提取标准外设库)
listings: 编译生成列表文件
objects: 编译生成目标文件
gpio:这两个文件是工程文件
删除编译产生垃圾文件:需要打包整个工程的时候,双击这个文件可删除不需要的文件(如上面两个文件夹listings和objects下的文件)。
②结构描述
当我们用mdk-arm软件直接打开软件工程,就可以看到下图所示的结构,将文件夹的“libraries”分为三项,如下图:
源代码详情
①rcc时钟
该函数位于bsp.c文件下面;
我个人习惯第一步配置时钟,st官方提供的例程也是把配置时钟放在前面。
为了防止大家修改来使用其他端口而忘记配置rcc,这里将f0常用的几个端口都配置上(实际应该使用那些端口才配置)。
②io配置
该函数位于bsp.c文件下面;
这里的配置就是对一个“输入输出io”的初始化配置,也就是对结构体“gpio_initstructure”进行初始化。这里面主要就是对那其中的五个参数初始化。
关于结构体“gpio_inittypedef”详情可以go to definition...或者选中“gpio_inittypedef”、按下f12,跳转到定义关于“gpio_inittypedef”的定义,详情请看下面③的讲解。
③gpio_inittypedef详情
参数1:gpio_pin引脚: gpio_pin_0 - gpio_pin_15
参数2:gpio_mode模式: 输入gpio_mode_in、输出gpio_mode_out、gpio_mode_af复用功能、gpio_mode_an模拟功能
参数3:gpio_speed速度: 低速gpio_speed_2mhz、中速gpio_speed_10mhz、高速gpio_speed_50mhz
参数4:gpio_otype输出类型(只对输出起作用):推完输出gpio_otype_pp、漏极输出gpio_otype_od
参数5:gpio_pupd上下拉: 浮空gpio_pupd_nopull、上拉gpio_pupd_up、下拉gpio_pupd_down
说明
stm32f0的芯片软件兼容性很好,可以适用于f0的很多芯片(具体请看手册、或者亲自尝试)。

飞思卡尔优化电控系统设计加快节能高效
笔记本显卡未来趋势
台积电今年的资本支出超过200亿美元
常见电源电路图及工作原理讲解
KUKA-C4标准版机器人启动时序
STM32F0xx_ GPIO配置详细过程
小米USB-C电源适配器的测评
今日传感财经:影像传感器概念报涨;红外传感器概念报涨;MEMS传感器板块午后报涨
企业在使用区块链时可能遇到的一些问题分析
夏普中国策略:重在智能手机
酒链币数字资产软件开发平台
晶圆代工产能供应吃紧 瑞昱音频转换芯片被砍单
电镀生产线挂具管理RFID应用解决方案的介绍
跑步蓝牙耳机哪种好,适合跑步佩戴的无线耳机分享
发光二极管正负极判断符号
什么是导热膏?导热膏该如何使用?
本地数据怎么备份上云?华为云对象存储服务OBS帮你实现
iphone8什么时候上市?iphone8最新消息:马云自用手机曝光,抢先体验iphone8
线路板行业市场最新预测与分析
带隙基准计算器(BGRC)功能