当前位置: 首页 > 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.jsqmd.com/news/71048/

相关文章:

  • AI+SIP・用实时音视频连接一切 | RTSCon2025 报名进行中
  • 2025年河南四大音视频设备热门厂家排行榜:聚焦led显示屏、液晶拼接屏等核心品类标杆企业 (1) - 朴素的承诺
  • 2025年微量紫外可见光度计哪家性价比高?哪个品牌好?实力制造商|生产厂家推荐 - 品牌推荐大师1
  • 策略模式-行为型
  • 策略模式-行为型
  • 2025十大水务品牌厂家推荐榜 最新权威测评出炉!安全与市场双维度优选指南 - 品牌推荐排行榜
  • 2025年12月远程控制软件权威排名:易用性和稳定连接评分与选择指南
  • 2025年国产仪器权威推荐:国产液相色谱仪/X衍射仪/超纯水生产商哪个品牌好? - 品牌推荐大师1
  • 详细介绍:碳中和终极武器——嵌入式AI重构能源管理战局
  • 2025十大水务品牌厂家推荐榜,权威测评+安全认证,全国市场数据揭晓 天津高通阀门登顶榜首 - 品牌推荐排行榜
  • 初学WPF
  • 2025年高速离心机/低速离心机/冷冻离心机品牌TOP6:优质厂家选购指南 - 品牌推荐大师
  • 筑牢水务安全屏障:2025 十大水务阀门品牌引领行业高质量发展 - 品牌推荐排行榜
  • 2025年Q4全国球墨铸铁管厂家哪家好?全场景适配推荐,工程采购权威榜单 - AIEO
  • 2025中国市场主流AI ATS厂商盘点,企业智能招聘系统如何选型
  • 供应链风险管理更推荐哪家企业?源堡科技筑牢安全防线 - 资讯焦点
  • 【GitHub每日速递 20251210】独立浏览器 Ladybird 来袭!多进程架构+多系统兼容,开发必备!
  • 2025年12月隔音舱源头工厂深度测评:5大主流品牌核心数据横评 - 资讯焦点
  • 祝贺东航首飞全球最长单程航线!通义千问和 AI 网关助力推出首个行程规划 Agent
  • 2025 年 12 月北京装修口碑 TOP10:亿丰方圆 99.9 分封神 全场景无忧指南 - 品牌智鉴榜
  • 2025 年 12 月北京装修口碑 TOP10:亿丰方圆 99.9 分封神 全场景无忧指南 - 品牌智鉴榜
  • 物联网传感器环境自适应校准与精度补偿手艺
  • 工业风机公司排行榜Top1!工业风机哪个品牌好? - 资讯焦点
  • 2025年中老年男性保健品盘点推荐,三井龙虎丸领跑男性壮阳补肾市场 - 资讯焦点
  • 2025 年 12 月全国太阳能路灯厂家五大推荐:雷泰照明领衔,高性价比户外照明解决方案优选 - 深度智识库
  • dify修复 React 和 Next.js 中的严重远程代码执行漏洞
  • 2025年12月实验室装修/实验室改造/实验室设计找哪家?哪家靠谱?怎么联系? - 品牌推荐大师
  • 2025 热门 AI 培训机构实测报告
  • 2025年12月导热凝胶厂家推荐榜:单组份/双组份/导热凝胶、导热硅胶片综合参考,深圳联腾达领跑,四大品牌以技术破解电子散热难题 - 海棠依旧大
  • 若依微服务版从零搭建