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

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

[复制链接]
BG4RFF 发布时间:2019-1-18 15:28
发现初始化时在图形界面设置输出为置位(就是高电平),不能成功,必须在后面重新置位才行,使用时需要当心。9 W0 S# j' `$ y' l) w! d' S" i* F
详细看下文- X9 A( C% R8 O* F/ q% ^9 A
static void MX_GPIO_Init(void)
( k4 e8 G3 X/ N% V6 n6 a7 L8 l; m{
$ i/ j: X+ [9 N! @! ]  LL_GPIO_InitTypeDef GPIO_InitStruct = {0};) a7 T# Z6 K- L4 t. Q
/ [3 Z+ R! t- n1 q
  /* GPIO Ports Clock Enable */5 Z- r6 e  G* c3 e
  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC);
' {& d8 m% P3 b* w3 G2 }  N3 F+ f' j  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOD);
3 {& [% L7 e6 U4 l( G) X$ Q- A, W  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);/ p  e8 B5 |" X* y6 E* o4 n
  LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB);, D2 ^, D( \6 U5 Q' g* L
0 I& K% M" Z' x2 s  a
  /**/
5 |( K: [9 p* F  LL_GPIO_SetOutputPin(Pow_Con_GPIO_Port, Pow_Con_Pin);6 O+ F9 N& r& @8 ~' E: m; |! Q

# W1 V4 y: p2 Z& d% J% L  /**/7 u) l$ i, N4 X& n& z/ y
  LL_GPIO_SetOutputPin(SPI2_NSS_GPIO_Port, SPI2_NSS_Pin);
0 }# n/ C  n) P. G1 p$ _) Y  a- D" x: X5 ~( _" P7 v& g. T
  /**/
4 l1 [8 o' Y/ g% B9 m  LL_GPIO_ResetOutputPin(GPIOB, Dis_Led0_Pin|Dis_Led1_Pin|Dis_Led2_Pin|Dis_Led3_Pin);
" x% E, R2 Y1 S3 y& [" Z1 K$ H% \5 A" m, y
  /**/9 k9 u# Z5 H: \( O! W* e/ S
  LL_GPIO_ResetOutputPin(GPIOA, Dis_Led5_Pin|Dis_Led6_Pin|Dis_Led7_Pin);
* @7 A; s; ?- j* U! L' z9 h8 c; A! v- _% ?! i) {; a
  /**/
9 g' C+ ~. B! {& G+ a  GPIO_InitStruct.Pin = Pow_Con_Pin;! J9 Y+ b6 e" I, Z7 k
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;1 T- ^0 r1 f  _, m
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
4 P9 U! J' H+ N' {  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;+ [" V$ T2 Z( ]6 H" Z. k; y" `# l
  LL_GPIO_Init(Pow_Con_GPIO_Port, &GPIO_InitStruct);# \; C0 A% L) a( z

! _6 N1 |) d  b1 w; d1 s# G  /**/
5 T" f2 y+ [8 ]/ z; U. I  GPIO_InitStruct.Pin = LL_GPIO_PIN_14|LL_GPIO_PIN_15;
8 t1 @' E# v7 s  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
% t- G6 ?, ^. U  LL_GPIO_Init(GPIOC, &GPIO_InitStruct);- A/ N/ h6 n! M- q
7 P* r2 U9 R3 T9 c# x
  /**/
7 J5 Y1 V- |, f& I6 I  GPIO_InitStruct.Pin = Dis_Led0_Pin|Dis_Led1_Pin|Dis_Led2_Pin|Dis_Led3_Pin;
5 J, k7 k6 b7 _+ }5 i  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
) h$ Z2 `. s# {" m  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_MEDIUM;
4 v+ Q/ ?( P: E+ c  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
. K4 d: I! ]* Z  LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
) g9 V/ i# q! ]* X! u' V* R2 R
  V; O- S& ~2 E: b7 n! K5 ~9 y  /**/
( V- W0 c" s. k& {: K  GPIO_InitStruct.Pin = SPI2_NSS_Pin;; [! T; a7 S7 s$ d/ O
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;9 A" m5 |, L: Z/ l2 \* x1 O3 n( I4 e! @
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
* Y4 h0 X0 a8 {6 q" l) F5 I  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;4 x, W) p3 j/ r  u
  LL_GPIO_Init(SPI2_NSS_GPIO_Port, &GPIO_InitStruct);
  P! `- I$ G, Z# Y" e3 ^9 O) u' x( z" e
  /**/
( T8 [9 V% z' F& }; r& E) w  GPIO_InitStruct.Pin = Dis_Led5_Pin|Dis_Led6_Pin|Dis_Led7_Pin;# H# c4 P* m/ }" i9 a8 M( {
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;: M, M0 i! S: ^) r# [8 C
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_MEDIUM;) N6 B9 i6 P: q8 [' ~5 Y
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;4 I, G, J8 n. F+ S
  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
3 }. t6 G) b5 `& [
) h. s% S5 O0 F3 ]  /**/
6 L2 ~. U1 }* \: p: l  GPIO_InitStruct.Pin = LL_GPIO_PIN_15;6 ]. L& X  j7 u; D: u! P2 v! f( F
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
) E, o# _/ M* v5 S# X5 `! S  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);2 W' Z$ h2 z; \! O) i# e
) @9 M' |+ Q. r, w) x7 ^
  /**/) N" W7 I+ x, @( O
  GPIO_InitStruct.Pin = LL_GPIO_PIN_3|LL_GPIO_PIN_4|LL_GPIO_PIN_5|LL_GPIO_PIN_6 ; ^7 @/ a% D% N( ]
                          |LL_GPIO_PIN_7|LL_GPIO_PIN_8;5 v# f1 A. a, U* f
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;" _2 n: y) W5 d0 b
  LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
0 U% R. Q- i" U7 B/ W( J/ N+ S6 q7 H. h- A, r* W
  /**/6 d( s0 f; n6 r" ]2 D6 {7 \
  GPIO_InitStruct.Pin = Pow_Key_Pin;, m/ m& L. a  g/ m
  GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT;
: W& x5 d* g# J- f$ @  GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
; U6 Y* `! ^/ m  LL_GPIO_Init(Pow_Key_GPIO_Port, &GPIO_InitStruct);( y5 f4 r" ^/ v* \

5 g1 N; z5 [( k% T1 u/ U& ~0 v) Q//必须添加下列代码,否则口初始化默认置位不成功7 P( a" u, Z( {0 }
  /**/
- U- J/ M. D" z/ Z  LL_GPIO_SetOutputPin(Pow_Con_GPIO_Port, Pow_Con_Pin);
# e* J7 ~# q( ?8 Y3 {5 X: t  L6 M4 x$ k/ n6 }' Y, K8 _* t
  /**/9 \% Z8 N3 q" @* D% o% ]0 `
  LL_GPIO_SetOutputPin(SPI2_NSS_GPIO_Port, SPI2_NSS_Pin);9 r' J" Y; r6 |" m- N% I4 ]
1 K1 O/ g$ E8 ?6 H4 V& c: f
}
/ y8 [- f. v2 y  a% U& k" O0 w# u# T7 S: m; G- E* b
赞 收藏 评论2 发布时间:2019-1-18 15:28

举报

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

所属标签

相似技术帖

官网相关资源

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