你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32CUBEIDE的GPIO输出函数经验分享篇四

[复制链接]
攻城狮Melo 发布时间:2023-4-9 18:55
概述
    本章主要讲解GPIO输出函数说明。
8 {) w% f+ O) I( [  A
生成例程2 I- i/ {: a& l" e" a( N- O
   使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板。

' ]1 r" l7 H3 _2 K- C
微信图片_20230409210253.png
; z$ H8 ]) n+ x- K' M6 [+ |& A
HAL_GPIO_Init()函数& z1 K+ c& ]+ }) F0 w: `- g8 C
  该函数的作用是根据GPIO_Init中指定的参数初始化GPIOx外设。

/ c( |, r8 [3 m! S7 W; A: e8 r) F
7.png

. g# V4 @! K( c3 t* n) @" U
    由于是对管脚进行初始化定义,一般在mian()函数初始化中。
    而在主程序的初始化中,有个注释是初始化所有配置的外设,点击查看这个函数。
( B0 c5 g0 H6 ~  R& I
6.png
$ |' I/ f( N' G$ }8 W: i( C+ P
    在MX_GPIO_Init()可以看到,这里对管脚进行了初始化的配置。

9 x! X0 z8 |# ~6 O
5.png

: j; }+ }: X* z, `3 e9 F8 D! dHAL_GPIO_DeInit()函数) P8 I0 \/ t  `# O0 @; B/ ?
    该函数的作用是重置GPIO口,由下图可知,该函数输入GPIO管脚号即可初始化对应的GPIO。  
$ |2 d) I& h: w' k; l
4.png
) b1 }" E. l4 r7 n
8 w0 R; f* v8 U4 K. _
HAL_GPIO_WritePin()函数
' @# [9 E% |+ c; }* C% e
    该函数的作用是设置或清除选定的数据端口位。  
    一般情况下是配置GPIO输出高低电平。

% @0 u9 m- L6 Q" S& Q. i; t
3.png
# f/ U2 |. i: Y3 p, B6 T1 g! u: O+ Q
HAL_GPIO_TogglePin()函数$ f- V% B' `! a) o  Y
    该函数的作用是翻转选定的数据端口位。  
    一般情况下是切换GPIO输出电平状态。

4 c, Z* I% }$ B9 C/ u# M4 d
2.png
8 A5 `/ P% \; w) `
HAL_GPIO_LockPin()函数
: M: V! O8 u% _
    锁定GPIO引脚配置寄存器,就是将GPIO的模式锁定,例如有个GPIO已经设定为推挽输出模式,只要将该GPIO锁定,后面你的代码执行该GPIO变成输入模式的代码将不起作用,最主要作用是在强干扰环境下防止意外跑飞导致修改io的模式状态导致严重意外问题,一般情况下不适用该函数。

# q; O" t' Q+ B9 b0 v
1.png
% z" ]9 ^* S0 N, H8 @; A, d
转载自:记帖
如有侵权请联系删除
. C* }" {# t/ z7 Y, c  c; @+ c

) e1 j& L/ ~4 X5 }5 H/ W/ I9 V* \6 o
赞 收藏 评论0 发布时间:2023-4-9 18:55

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版