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

【经验分享】STM32F2 GPIO 配置问题

[复制链接]
STMCU小助手 发布时间:2021-12-1 22:16
在编写GPIO模拟i2c时,下面两个初始化有不同/ R5 w- r0 l& L. e; `5 W
第一种方法:
, r$ i  ?3 L1 G" |1 m9 A  W# r# z
  1.      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    " K0 ?! f. S: f1 f  F
  2.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;& d- C& X0 y) t* G" {$ K2 X
  3.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;; G" q; t' {% e6 l) ?) U
  4.     GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;3 A8 \( j4 c' }8 x; c
  5.     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
    ) y: Q  e3 l, p- A/ g6 K
  6.     GPIO_Init(GPIOC, &GPIO_InitStructure);
    4 K# X( s- r7 N4 r

  7. # c, V5 D+ h7 A+ c  D
  8.     GPIO_WriteBit(GPIOC, GPIO_Pin_9, Bit_SET);  //zyboy
复制代码
$ r6 k5 V. b, g+ {
第二种方法:
' O) d6 r7 ^. h& j" j- R' O& R1 @$ O
  1.     GPIO_WriteBit(GPIOC, GPIO_Pin_9, Bit_SET);  //zyboy8 c# M, c3 g0 p2 h$ T9 V" L6 K3 h
  2.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    7 [# F! N/ y0 y+ X# g' A; ]
  3.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    % {; t7 ~! I# g, A
  4.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;3 N* C7 U% u2 q4 b
  5.     GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;  P" A$ W- k( R& e& V1 a; N. Q, g/ U
  6.     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;$ S3 N: ?; U$ U- t
  7.     GPIO_Init(GPIOC, &GPIO_InitStructure);
复制代码

! p% H. w- R: F" Z& P8 ?% u; k
2 ?6 |5 }2 ~& X  \- u通过示波器观察 第一种方法:会出现GPIO瞬间有个低电平,之后变成高电平,第二种方法:一直为高电平
- S0 P$ i4 N  ~+ l! H9 I' k
1 V. ]. t$ E/ \3 V. K0 P7 S原因:GPIO上电默认输入模式,GPIO寄存器值为0,高阻悬浮状态,GPIO电平由外围电路决定。
+ _: s" G1 T9 H; v8 `8 ]+ x) O8 q4 q5 |+ L# Y, j" P. U# O
由于i2c总线,GPIO外接上拉电阻,故上电时GPIO表现为高电平。如果程序初始化开始设置GPIO为输出,再设置GPIO为高,由于GPIO寄存器值默认上电是0,故GPIO会是有个瞬间的低电平然后变高。如果事先把GPIO 寄存器设置为1,再设置GPIO为输出,则GPIO一直为高。, W( _9 u6 H$ `" c$ b5 b; ~* A

/ Q. [2 h6 S. ?0 T7 l, }1 H/ K! }2 N4 X" P* [+ I; |
收藏 评论0 发布时间:2021-12-1 22:16

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版