0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32F0xx_ GPIO配置详细过程

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-04-08 09:31 次阅读

前言

对于初学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的很多芯片(具体请看手册、或者亲自尝试)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GPIO
    +关注

    关注

    16

    文章

    1133

    浏览量

    50564
  • 标准外设库
    +关注

    关注

    0

    文章

    16

    浏览量

    3464
  • STM32F0XX
    +关注

    关注

    0

    文章

    11

    浏览量

    2705
收藏 人收藏

    评论

    相关推荐

    stm32f0xx_stdperiph_lib_um.chm怎么用?

    最近用STM32F0,没有中文文档找到库里面有个stm32f0xx_stdperiph_lib_um.chm 这个怎么用?捣鼓了一会没整明白比如 我想知道所有RCC的库函数, 怎么看?
    发表于 04-24 07:19

    求助,关于STM32F3系列启动时SWD的配置问题求解

    求助:小弟现在使用STM32F373RCT6这款芯片,原来使用F103的,由于IO资源使用比较紧凑,基本没什么剩余IO,所以在system_stm32f1xx.c中增加了一个函数
    发表于 04-09 06:12

    STM32G4XX不能够像STM32F1XX STM32F4XX那样对GPIO进行位带操作呢?

    请教下,在STM32G4XX系列里面,GPIO挂载在AHB2总线上面,地址在0x4800 0000. 是不是也就意味着,STM32G4XX不能够在像
    发表于 03-21 07:16

    STM32使用GPIO配置的5种方式

    STM32使用GPIO配置的5种方式 STM32是常见的一种微控制器,其GPIO模块可以实现对外部设备的控制和数据传输,包括数字I/O口、模
    的头像 发表于 10-26 17:42 769次阅读

    AT32F435/437xx GPIO使用指南

    AT32F435/437xx的通用功能I/O (GPIO)提供了一系列与外部环境通讯的接口,可用于MCU与其他嵌入式设备之间通过数字或模拟方式的通讯。AT32F435/437
    发表于 10-25 08:23

    MCU微课堂 | CKS32F4xx系列产品GPIO配置

    MCU微课堂 | CKS32F4xx系列产品GPIO配置
    的头像 发表于 10-24 15:14 475次阅读
    MCU微课堂 | CKS32F4<b class='flag-5'>xx</b>系列产品<b class='flag-5'>GPIO</b>口<b class='flag-5'>配置</b>

    AT32F4xx系列GPIO各种模式上拉/下拉电阻配置说明

    AT32F4xx系列GPIO各种模式上拉/下拉电阻配置说明AT32F4xx 系列GPIO 的各种模式内部上/下拉电阻
    发表于 10-23 06:13

    使用STM32F101xxSTM32F103xx的DMA控制器

    这篇应用笔记描述了怎么使用STM32F101xxSTM32F103xx的直接存储器访问(DMA)控制器。STM32F101xxSTM32F103xx的DMA控制器、Cortex
    发表于 10-10 08:20

    STM32F0如何使用官方固件库和软件包

    例程列表:Library_Examples.html• 路径:STM32F0xx_StdPeriph_Lib_V1.0.0\\Project
    发表于 09-12 07:45

    STM32F0 GPIO介绍

    最大封装(64引脚)上多达55个多功能双向GPIOGPIO引脚占有率相比STM32F1系列的80%更增加到86%) 几乎所有GPIO都是5V容忍(ADC引脚除外)
    发表于 09-12 06:06

    STM32GPIO配置

    STM32微控制器通用输入/输出引脚(GPIO)提供许多与应用框架内外部电路相连接的方法。本应用笔记提供有关GPIO配置的基本信息,以及硬件和软件开发人员使用
    发表于 08-31 10:50 0次下载

    STM32的8种GPIO模式理解

    最近在看数据手册的时候,发现STM32GPIO输入输出模式的配置种类有8种之多
    的头像 发表于 08-04 14:53 670次阅读

    STM32F101xxSTM32F103xx中文教程及参考手册

    本参考手册针对应用开发,提供关于如何使用 STM32F101xxSTM32F103xx 微控制器的存储器 和外设的详细信息。在本参考手册中 STM32F101xx
    发表于 07-12 14:45 39次下载

    STM32GPIO操作配置和使用方法

    本篇开始对STM32GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理。
    的头像 发表于 07-07 16:50 3325次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>操作<b class='flag-5'>配置</b>和使用方法

    STM32GPIO在实际开发设计的使用配置和技巧

    一、前言 本篇开始对STM32GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理。 了解过
    的头像 发表于 06-22 10:22 519次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>在实际开发设计的使用<b class='flag-5'>配置</b>和技巧