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

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

[复制链接]
BG4RFF 发布时间:2019-1-18 15:28
发现初始化时在图形界面设置输出为置位(就是高电平),不能成功,必须在后面重新置位才行,使用时需要当心。
+ A& n8 L. }9 P) h: N详细看下文0 Z  C% ]8 n/ v4 d$ t
static void MX_GPIO_Init(void)$ G2 E% ^* X1 R6 x
{- q% \% q7 Y2 \7 J5 H4 }9 z  D. o
  LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
& P# a( [/ G3 l7 e) j
$ m" X- |" F: `3 ^  /* GPIO Ports Clock Enable */
  [7 W' x+ n4 T  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC);
3 H' S/ ^$ i. u. J  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOD);
* b9 f7 C9 J5 K8 H$ V" f# O, D  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
: o# q. y/ I% d* G  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB);  o' e. H; U- |5 y8 D5 n
1 s/ D$ u( ?& A& K( ]3 A
  /**/
% i# C$ a2 X! k' U5 G  U, y  LL_GPIO_SetOutputPin(Pow_Con_GPIO_Port, Pow_Con_Pin);3 O7 l, ^6 @% k* U  G  V

4 r% W% |) g4 s/ R8 ?+ C  /**/
5 {( x5 w+ G+ K4 e2 [  LL_GPIO_SetOutputPin(SPI2_NSS_GPIO_Port, SPI2_NSS_Pin);
2 j$ }, s: C+ {: q
4 `# r5 N. A4 }  /**/# F0 x8 w8 _; Z$ ?- ^3 F
  LL_GPIO_ResetOutputPin(GPIOB, Dis_Led0_Pin|Dis_Led1_Pin|Dis_Led2_Pin|Dis_Led3_Pin);
5 S2 J8 c' ?) h+ }6 f
& [6 O6 D3 u, Z* F2 p$ _. e  /**/1 N/ _; b- e! n4 P' }+ B
  LL_GPIO_ResetOutputPin(GPIOA, Dis_Led5_Pin|Dis_Led6_Pin|Dis_Led7_Pin);
6 d5 q+ z' T  ]4 |! t+ X6 _9 b6 [" @6 Q  O
  /**/* A2 {' Z3 U. G- Y& i. ?
  GPIO_InitStruct.Pin = Pow_Con_Pin;
0 E9 l: X5 m0 j! f& C9 y/ X# e# |  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;+ O# X; Q: B. S# Q; ~5 |
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;/ S4 n+ x# p/ F. Q3 W5 I
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
0 Z3 \5 ^, e+ S, v; F3 \  LL_GPIO_Init(Pow_Con_GPIO_Port, &GPIO_InitStruct);$ W5 z$ i. u( d! D

1 O4 }8 g4 x1 c- |. t  /**/- m. Q- a3 \9 Z1 E/ P. h
  GPIO_InitStruct.Pin = LL_GPIO_PIN_14|LL_GPIO_PIN_15;7 z/ R. \) O# D9 @2 X: Z
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
4 o. G8 c8 t. V) U' E/ N  LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
9 a9 N- h7 o% A' M# Q
: O' C( D. e( a9 ]2 B' f  /**/
* g9 R0 J  U7 p9 a  GPIO_InitStruct.Pin = Dis_Led0_Pin|Dis_Led1_Pin|Dis_Led2_Pin|Dis_Led3_Pin;  o! r; E: S7 `# N+ M& y
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;4 [* l8 K! L4 x0 ]8 ~& w5 d- G
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_MEDIUM;' w4 K8 d7 [6 \+ n$ t& W+ U5 y
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
+ ^, E7 H  u: Q1 n, O9 i, H! {3 f: v0 r  LL_GPIO_Init(GPIOB, &GPIO_InitStruct);9 l* _5 ?# ^) J/ n& P

' _' U# _, H$ [" p% `( e  /**/
* u2 a! {' n, f; |- g  GPIO_InitStruct.Pin = SPI2_NSS_Pin;4 r( M! \* \+ P: V6 [6 R0 @
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;% V1 k0 t2 S4 w2 h1 b5 t
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
. w  C% A+ m. Q+ L) s% @  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
8 [0 ^: w6 C% @. }" M6 e! H  LL_GPIO_Init(SPI2_NSS_GPIO_Port, &GPIO_InitStruct);8 M% v0 q& |! z( M, H( p7 [

. i: P- X4 _5 f& f6 p4 u- o! @  /**/" a8 V& Q3 z6 p9 w, u, Q
  GPIO_InitStruct.Pin = Dis_Led5_Pin|Dis_Led6_Pin|Dis_Led7_Pin;6 T( I0 d% A0 B8 G# _4 T% J
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;- ]" L" Q' k( ^0 }  a. f
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_MEDIUM;) L& h1 Q( s! |; W* b  |# l0 K% J
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;! B- R; i' e9 l8 m! L8 K4 O4 p& u
  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);$ k4 Q" d# l8 y$ N/ T! y. ^

5 I) q# T2 q  L) w3 A4 Q0 F  /**/+ E% j9 m( w- z7 a
  GPIO_InitStruct.Pin = LL_GPIO_PIN_15;
$ R" i% l# H' v3 p9 ^* a% n  k  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
5 _) G. l; D- ^# f1 W* {3 V  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);1 M5 T. M7 Q! A5 _* c  _
; ], c; `* {6 B5 u" h% `. x' E3 a
  /**/' r0 s9 `0 q- t/ k6 p; g
  GPIO_InitStruct.Pin = LL_GPIO_PIN_3|LL_GPIO_PIN_4|LL_GPIO_PIN_5|LL_GPIO_PIN_6 3 M9 f8 H# J# d0 [9 }. |
                          |LL_GPIO_PIN_7|LL_GPIO_PIN_8;( [: t; ~. x% ~7 ], k4 o+ h
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
  l5 g9 ]( z, z" e7 m; `  LL_GPIO_Init(GPIOB, &GPIO_InitStruct);$ q1 c6 @, H5 N

9 t* C1 ^! Y1 K& H  /**// A5 l) _9 B3 l9 V5 ~# j2 @& A
  GPIO_InitStruct.Pin = Pow_Key_Pin;
3 f3 f& `2 y4 n* t( M  GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;1 b; G5 S, \! a$ Z
  GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
& {# L* m& t8 ]! F3 m1 z1 b  LL_GPIO_Init(Pow_Key_GPIO_Port, &GPIO_InitStruct);( F3 u) @% z4 y# }: z
% e6 R* Z0 Q3 `7 \
//必须添加下列代码,否则口初始化默认置位不成功8 Q: b3 V9 t2 d4 _/ o
  /**/
" q: ]$ f' \) `# J) z0 R7 i% P: O" _  LL_GPIO_SetOutputPin(Pow_Con_GPIO_Port, Pow_Con_Pin);
4 b8 x6 @7 q: `$ d4 Z6 p! _
: @9 n1 S( Q4 m& v% e0 e1 F7 S  /**/
4 R2 r' L7 }$ {) o+ K7 c  LL_GPIO_SetOutputPin(SPI2_NSS_GPIO_Port, SPI2_NSS_Pin);; l6 U  E) q3 d

( }! W! @: l. k5 G* {1 D}( b. i+ c" i2 e( a/ N' R( v  `3 w
; L5 _3 i& n3 t  d
收藏 评论2 发布时间:2019-1-18 15:28

举报

2个回答
sasalww 回答时间:2019-1-18 15:31:11
any012 回答时间:2019-2-27 15:26:31
不知道HAL库有没有这个问题。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版