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

【经验分享】STM32G431学习笔记【1】:点亮二极管

[复制链接]
STMCU小助手 发布时间:2021-11-14 23:04
前言
3 ?" h* E4 ?6 Z3 g: v) @学完频率计之后花了一周重新看了一下物联网的东西,忙完之后终于有时间开始学习G431单片机了,花了两天时间 把发光二极管点亮了
+ o+ e* a4 Z' @, [- e3 _
5 D3 H  o6 @; F( T0 o电路分析
' Q; E+ W$ ]6 M
20201026193256385.png

8 ]$ [* _8 g3 s) W" I& T- s+ ?/ p7 p; x# [- @# ^
G431开发板自带的发光二极管模块
2 q: C" q6 h. k7 N- B# G; f
( k5 `' e9 Z7 G) x0 {: R* x可以看到在这个电路中PA5引脚输出高电平时三极管导通二极管发光,如果该引脚输出低电平时二极管熄灭。
* R4 z5 N: |' `& w
& W5 }1 |& }& D  T7 _) ycubemx的相关配置% l' O) t& D7 z: P0 K

5 R$ ]1 v0 X5 ^. }
2020102619481023.png

" V6 u% g  `6 g0 k. o" x9 ^
( b" q* H# E  v4 v5 s8 c# `/ Q
20201026194408220.png
6 y6 r5 X* B/ W1 p  A

1 f4 z5 B, I, J/ d4 P$ c8 K% I5 [/ o* \
这里我们配置该LD2的引脚PA5为输出端口。0 [, j! Z' `4 u( N1 N8 f' ^) R
因为该二极管为高电平使能二极管,所以我们设置输出端口为低电平。
2 M! W) d4 E4 `$ d6 l因为是连接数字器件所以我们选择推挽输出模式。0 ]+ @3 q! s7 Z9 [8 f9 E0 X
设置为下拉模式。: A# |+ f1 z& I( m' _: @  }2 C0 n) Y# U
因为二极管对gpio输出的速度没有要求,所以配置速度为低速。
' u% ?) D: v+ J为了使后面的代码可操作性更好,我设置了user lable 为LD2。2 m" C" U7 D  C: Y6 Q
0 D6 B6 I; r7 y7 i6 p8 ^  y
代码实现
2 H3 j8 G/ t9 }9 [5 Duser lable的相关代码
' j. d. i4 O' z8 a' e: Y5 r9 @2 H* v3 X" r* R7 ?. e
  1. /* Private defines -----------------------------------------------------------*/* N9 L7 ]5 B7 `6 m
  2. #define LD2_Pin GPIO_PIN_5
    $ W! e9 p5 ]5 s5 f
  3. #define LD2_GPIO_Port GPIOA
    7 y2 p6 \) f, G" v* N& C* |% {- E
  4. /* USER CODE BEGIN Private defines */
复制代码

! ]' K- A( ]; p& X" q主函数代码
( Q5 j& G+ |" K' I, J7 S6 m& f  b0 T# v9 B) I8 s2 E
  1.   while (1)
    " n, y- h- k/ [$ }' \
  2.   {: c1 l! M/ s" P  H+ A0 z& c
  3.       HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);8 A# r; i: g- m( e
  4.           HAL_Delay(1000);# r: m6 S5 I; O& X8 ~
  5.           HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);/ X( f7 r! I. s+ n0 y+ G
  6.           HAL_Delay(1000);
    6 L% M! W% H8 O9 l$ H1 j( y: ^
  7.     /* USER CODE END WHILE */
    2 [  o8 ~: ~" f4 ?1 G

  8. 0 Q" z& t& t2 C+ `, R$ ^5 n! c7 ^
  9.     /* USER CODE BEGIN 3 */0 b! ]( X  \* i" @" Y2 z
  10.   }
复制代码

6 ^: ?& [- \! N这里就没什么好讲的了,就是上拉下拉GPIO,来让二极管发光熄灭。但是我也之前没有写最后一行的延时函数,结果那个发光二极管一直亮着的卡了我好久' `) {) |; M) C2 E0 ~/ M
# |$ r# f! V' w$ M/ z8 g

! _4 ]8 k) E; X+ b* r) |/ C
5 K6 K7 d1 y$ k% z% q/ P) l" w
赞 收藏 评论0 发布时间:2021-11-14 23:04

举报

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