当前位置: 首页 > news >正文

蓝桥杯嵌入式赛道—-软件篇(GPIO输出模式调整)

蓝桥杯嵌入式赛道—-软件篇(GPIO输出模式调整)

前言

  • 从现在正式开始讲解使用CubeMX来进行一些外设的初始化配置
  • 这一项是对标传统的标准库,这不仅仅给我们提供了很大的便利也大大降低了实际配置初始化代码时的小错误
  • 文中案例代码(基于江协的标准库移植)资料获取:GitHub : STM32-Lib

CubeMX配置GPIO输出模式

1、新建一个STM32F103C8T6工程

按照之前教的新建工程方式,创建好工程后来到这样的一个界面

在这里插入图片描述

  • 界面的左边部分是进行详细配置的操作界面
  • 界面右边的芯片引脚视图是对芯片引脚进行功能选择操作的。(注意:仅仅只是功能的选择,一般有些会有基础的默认配置,但我们会在左边的详细配置界面进行进一步的配置)

2、选择引脚设置为输出模式

这里以”江协课程“中的LED点灯案例为例

在这里插入图片描述

扩展介绍

右键芯片的引脚会出现这么一个窗口,我们关注这里的”Enter User Label”选项

在这里插入图片描述

  • 这个选项的意思是给个引脚打一个标注,比如他是用来控制LED的引脚,我给它一个LED的名称。这个后续在代码里面也会体现,他会给这个名称做一个宏定义

    在这里插入图片描述

3、进行具体设置

点击左侧的”GPIO“选择,进入到红框这样的界面中,这里展示的就是一些被使用的引脚,同时也是用来配置GPIO的具体设置的地方,继续点击就会弹出配置选项

在这里插入图片描述

配置介绍

在这里进行引脚的配置,按照需求选择后就会直接生成对应的初始化代码

在这里插入图片描述

  • GPIO output level:配置初始化后的输出电平
    • Low:低电平
    • High:高电平
  • GPIO mode:配置输出模式
    • Output Push Pull:推挽输出模式
    • Output Open Drain:开漏输出模式
  • GPIO Pull-up/Pull-down:配置引脚上下拉(这个选项我感觉没有必要,它实际只对输入模式有效,但为了不出现奇奇怪怪的意外,我一般都给他配置为下拉模式或者悬空)
    • No pull-up and no pull-down:引脚悬空
    • Pull-up:引脚上拉
    • Pull-down:引脚下拉
  • Maximum output speed:引脚的输出速度
    • Low:低速
    • Medium:中速
    • High:高速(有特殊需求一定要选High)
  • User Label:用户标签(上面有提到过)

上手操作

  • 我们要用推挽输出来控制LED的亮灭,按如图所示选择后即可,PC13引脚也要进行一样配置

    在这里插入图片描述

  • 配置完成后,点击生代码打开Keil5

    在这里插入图片描述

4、代码编写

代码解读

  • 这里我会讲解HAL库的GPIO库函数如何去使用,关于其他外设的库函数也可以按照我这样的方式去自己解读

找到GPIO库函数的源文件

函数功能介绍

初始化函数

// 初始化GPIO
void  HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init);
// 默认初始化
void  HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin);

功能函数

  • 这些是可以直接使用的功能函数
// 读取IO口电平,与标准库相比没有专门的Output/Input电平的区分
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
// 写IO口电平
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
// 翻转IO口电平
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
// 锁定IO口配置
HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
// GPIO外部中断函数
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
// GPIO外部中断回调函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
  • 关于这些函数的使用,参考Github资料中的案例即可
http://www.zskr.cn/news/81589.html

相关文章:

  • 2025年河南四大音视频设备热门厂家排行榜:聚焦led显示屏、液晶拼接屏等核心品类标杆企业 (1) - 朴素的承诺
  • 策略模式-行为型
  • 2025年12月远程控制软件权威排名:易用性和稳定连接评分与选择指南
  • 2025年国产仪器权威推荐:国产液相色谱仪/X衍射仪/超纯水生产商哪个品牌好? - 品牌推荐大师1
  • 详细介绍:碳中和终极武器——嵌入式AI重构能源管理战局
  • 初学WPF
  • 2025年Q4全国球墨铸铁管厂家哪家好?全场景适配推荐,工程采购权威榜单 - AIEO
  • 2025 年 12 月北京装修口碑 TOP10:亿丰方圆 99.9 分封神 全场景无忧指南 - 品牌智鉴榜
  • 2025年12月实验室装修/实验室改造/实验室设计找哪家?哪家靠谱?怎么联系? - 品牌推荐大师
  • 2025 年 12 月全国太阳能路灯厂家五大推荐:雷泰照明领衔,高性价比户外照明解决方案优选 - 深度智识库
  • 若依微服务版从零搭建
  • 公司企业年会抽奖小程序
  • Flask学习笔记
  • 2025微型加热器十佳品牌技术白皮书——高精度温控解决方案供应商推荐榜 - 品牌推荐大师1
  • 题解:P11520 [THUPC 2025 初赛] 骑行计划
  • 在IAR Embedded Workbench for Renesas RH850中开发和调试Renesas RH850 MCU
  • 在本地机器上训练和运行斯坦福Alpaca模型指南
  • SpeedAI一键降重降AIGC - 老米_专讲AIGC率
  • 2025密度传感器推荐品牌与十大排行榜深度解析——高精度产品全场景应用指南 - 品牌推荐大师1
  • 时序数据库 IoTDB Committer:不用等自己足够强再开始!高质量技术圈子+持续成就感=成长!
  • 国内智能物联网功能平台厂家有哪些?品牌有哪些?售后哪家好? - 品牌推荐大师
  • 西南大模型高薪密码:真术相成凭什么成为本土求职者的首选?
  • 避坑指南:2025年如何筛选排名前十四的球阀批发商,专业的球阀双达阀门市场认可度高 - 品牌推荐师
  • 2025春熙路火锅人气榜:口碑前十强揭晓,火锅店/重庆火锅/老火锅/特色美食/火锅/美食/川渝火锅火锅品牌选哪家 - 品牌推荐师
  • JS---简写自执行函数的写法
  • IAR云就绪平台实现对瑞萨RH850/U2x的全系列支持,赋能新一代汽车电子开发
  • 2025年宝宝敏感肌护理产品推荐榜单,纽强蝉联婴童护肤前列,严控欧盟标准 - 速递信息
  • DeepSeek爆火,OpsPilot才是运维最坚实的幕后主心骨
  • 国内酒店设计公司有哪些?行业实力企业推荐盘点 - 品牌排行榜
  • 如何辨别电竞培训学校的真实力?2025年年终最新行业评估方法论及5所实力机构推荐! - 品牌推荐