凡亿助教-六六
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | STM32单片机读取GPIO电平高低检测
STM32单片机读取GPIO电平高低检测

想让STM32“听懂”外部信号?比如按键按下、传感器触发?核心就是读取GPIO(通用输入输出)的电平状态!本文用最直白的方式,教你3步完成高低电平检测。

一、选对模式:输入模式三选一

GPIO输入模式分3种,按需选择:

浮空输入:引脚悬空时电平不确定(可能高可能低),适合接外部电路明确控制的信号(如按键+外部上拉电阻)。

上拉输入:内部接上拉电阻,默认高电平,适合检测“下拉到低电平”的信号(如按键接地)。

下拉输入:内部接下拉电阻,默认低电平,适合检测“拉高到高电平”的信号(如外部模块输出高电平触发)。

关键点:根据外部电路设计选模式!比如按键一端接地,另一端接GPIO,就选上拉输入。

二、使能时钟:给GPIO“通电”

STM32的GPIO需要时钟才能工作,必须先打开对应端口的时钟。

操作:在代码中调用 __HAL_RCC_GPIOx_CLK_ENABLE()(x替换为A/B/C等端口号)。

比喻:就像开灯前先打开电闸,否则灯不会亮。

三、读取电平:1行代码搞定

用库函数 HAL_GPIO_ReadPin() 直接读取电平状态:

1.png

返回值:GPIO_PIN_SET(高电平)或 GPIO_PIN_RESET(低电平)。

注意:引脚号(如 GPIO_PIN_0)需与硬件连接一致。


本文凡亿教育原创文章,转载请注明来源!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论