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

STM32CubeMX5.01+F1 1.7.0初始化默认端口为高电平时要注意

[复制链接]
BG4RFF 发布时间:2019-1-18 15:28
发现初始化时在图形界面设置输出为置位(就是高电平),不能成功,必须在后面重新置位才行,使用时需要当心。; V: Z8 r" Z) J( [1 c8 a
详细看下文2 B! Y* h- g/ J9 h. b
static void MX_GPIO_Init(void)
- k" e! a6 l. K6 Z# m$ Q{  Z1 P% g+ C0 \) E; x& ^4 m
  LL_GPIO_InitTypeDef GPIO_InitStruct = {0};% C& B; ]- k" E) B4 ?. f  D
; w* ]9 ~6 j7 X. Q& Y+ O% B
  /* GPIO Ports Clock Enable */
; J0 Q, S) \- |) d0 P9 R& K  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC);& o2 Y) J4 X7 ^- a
  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOD);# F8 q. w7 ?; Q5 l/ Q! t9 ^, `. A
  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
5 F0 w( R, q4 j: K. c2 X  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB);8 g% g9 i: ~% f, S7 ?% ]2 ^

) V- n& \* Z- q  W. K  /**/2 e: ~( {; {  Y# q2 c
  LL_GPIO_SetOutputPin(Pow_Con_GPIO_Port, Pow_Con_Pin);$ w8 \" T& J* e, }. Y2 F0 L. J6 s/ M

9 U# |* J9 H& o' {  /**/
* |' K; M5 Q1 J' R  LL_GPIO_SetOutputPin(SPI2_NSS_GPIO_Port, SPI2_NSS_Pin);4 n# B- @" s6 l# B6 e$ R

$ r/ {# P" ]3 B$ t  /**/8 Z! e7 w- L! x. [
  LL_GPIO_ResetOutputPin(GPIOB, Dis_Led0_Pin|Dis_Led1_Pin|Dis_Led2_Pin|Dis_Led3_Pin);; i+ e' A& s* b+ Y' n5 X6 n1 _
" V* O* I( r5 v3 \
  /**/
6 x) y! `% j: D( o1 f  LL_GPIO_ResetOutputPin(GPIOA, Dis_Led5_Pin|Dis_Led6_Pin|Dis_Led7_Pin);
( q: R! k, g% g7 I: l. x! q* @$ [* A
  /**/8 q+ L3 G/ m, `" o1 T, W
  GPIO_InitStruct.Pin = Pow_Con_Pin;0 t8 S& y! _* I0 N! ?/ g( W
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;& F: q/ c; W$ {* j( ~5 w: F
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;2 o  K7 }  y& V4 ?* e
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;  {/ i9 \; M2 C) d! T3 I& D
  LL_GPIO_Init(Pow_Con_GPIO_Port, &GPIO_InitStruct);
4 |  B3 e4 w5 |9 K1 d, [# z1 H) C2 d3 T" b* a
  /**/
+ c4 e% ]3 ~# r0 G, y. O- w9 \$ k  GPIO_InitStruct.Pin = LL_GPIO_PIN_14|LL_GPIO_PIN_15;2 g) t$ p+ E: x% R8 o5 l' W
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;, W4 f  }) {% S
  LL_GPIO_Init(GPIOC, &GPIO_InitStruct);0 i0 b5 W4 I/ K2 o0 Z* P% g: k

+ \0 [; }* j$ Z+ ^  /**/
  h% K  b% s9 @: V& k8 L  GPIO_InitStruct.Pin = Dis_Led0_Pin|Dis_Led1_Pin|Dis_Led2_Pin|Dis_Led3_Pin;
3 O5 _+ V2 ]: ~  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
! _5 ^1 [( q( S' F: R3 w( `  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_MEDIUM;8 s$ H9 q) g) y4 s" S  s+ d! l
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;' @  A! `5 l" t' n- X8 p
  LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- X  [. ~2 @) j# ~# f0 F6 B- r
! o8 r8 y( z3 D- u2 H4 x4 y7 Q2 i  /**/' P" N! I/ k+ c) K" m- u6 t, M
  GPIO_InitStruct.Pin = SPI2_NSS_Pin;
- W: r8 l2 n2 f& m: t$ i+ F  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;( A/ y6 K1 p& N) m3 Q) z6 m0 O
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;8 s3 c+ |& U% I/ Q& g" \
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
: p. O9 \7 Z" u7 z4 I* x& G$ x# a  LL_GPIO_Init(SPI2_NSS_GPIO_Port, &GPIO_InitStruct);
- p; X$ Q% @3 x! \. e) Z' f; K; s9 x4 f7 O: I. N
  /**/
7 d  D% f3 h, a' l  GPIO_InitStruct.Pin = Dis_Led5_Pin|Dis_Led6_Pin|Dis_Led7_Pin;) g" m+ E* {0 c0 E0 e" X7 M5 B2 _
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
) s6 \: w6 ]' P2 v6 A; O  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_MEDIUM;
* N0 W  @5 k$ h' y5 }  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
  @$ n$ Y3 Y3 ?/ Q  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);; K/ |6 }8 `1 I" S: l( T
  g0 G* z4 _: C) V+ z
  /**/
/ V2 L% Q+ K4 v/ x& A  GPIO_InitStruct.Pin = LL_GPIO_PIN_15;& M, [% T& ?( e* Z2 W8 ?
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
( R8 c0 Y  _: k  D9 f  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
, [! c- x5 G' W: a) @# |. q3 `, T/ f  i7 n- e
  /**/
( D& ~: Z  R: }# P" z! M* Q2 W  GPIO_InitStruct.Pin = LL_GPIO_PIN_3|LL_GPIO_PIN_4|LL_GPIO_PIN_5|LL_GPIO_PIN_6
6 B  R7 i. v6 J+ L                          |LL_GPIO_PIN_7|LL_GPIO_PIN_8;8 O& p; ~9 N  t
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;* T+ L3 m% ~5 o1 Y4 l
  LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
: D  H: `+ w8 g$ R$ E- i) c$ f' y+ f3 H
  /**/
; V. G% [' I& i2 p$ [/ l  GPIO_InitStruct.Pin = Pow_Key_Pin;
4 x+ [% _  X2 K1 d1 k. u; @. n' H  GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
. |+ F1 }% B3 m6 E  {3 O  GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;$ f3 e& p! g: J* L! k+ |
  LL_GPIO_Init(Pow_Key_GPIO_Port, &GPIO_InitStruct);! H. n* r( J, N# ?1 z
) g7 u6 c7 a5 R  p8 G, R$ Y9 v
//必须添加下列代码,否则口初始化默认置位不成功' b' B$ X% E. A) u$ s' g
  /**/
. T. P' `* A* E' x, ?# e  LL_GPIO_SetOutputPin(Pow_Con_GPIO_Port, Pow_Con_Pin);/ ^' }2 S! L7 D/ U

# ?$ J# z1 f% V+ P4 j  /**/% `0 h: X( H* {. f, u" x
  LL_GPIO_SetOutputPin(SPI2_NSS_GPIO_Port, SPI2_NSS_Pin);
6 R4 w7 D4 ?' C# k( N9 t1 i
* e1 {. H# H& U1 D, P}
7 [5 f" ~/ w; f* ~% g- B# y# z5 |
收藏 评论2 发布时间:2019-1-18 15:28

举报

2个回答
sasalww 回答时间:2019-1-18 15:31:11
any012 回答时间:2019-2-27 15:26:31
不知道HAL库有没有这个问题。

所属标签

相似分享

官网相关资源

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