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

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

[复制链接]
STMCU小助手 发布时间:2021-11-14 23:04
前言
0 a: ?0 [! A/ ~. y学完频率计之后花了一周重新看了一下物联网的东西,忙完之后终于有时间开始学习G431单片机了,花了两天时间 把发光二极管点亮了; t8 q+ t( j. h5 I2 {+ p

! e4 p3 s9 b# d1 w3 P电路分析
+ x. Y0 }: _5 o9 E
20201026193256385.png
7 Y& d' Z' G# g0 ~: e
0 F3 Y4 P3 j3 V! C4 l
G431开发板自带的发光二极管模块
/ p/ G7 x6 F: o9 y& o3 `; a+ [0 b* k/ ~  @" a: r) o
可以看到在这个电路中PA5引脚输出高电平时三极管导通二极管发光,如果该引脚输出低电平时二极管熄灭。+ V! E" Y) l2 R# H+ S1 r& T
# P) @2 e0 j6 O9 h# p0 {4 N, b
cubemx的相关配置
* U/ Q. s% {  i# @( i) I
2 j7 `& _- Z& e4 Y5 U/ F
2020102619481023.png

5 l6 T* E  \8 y! J) X# d/ k
  @' o4 X4 A, ?4 i
20201026194408220.png
* z" R1 S. h. g8 O  J) |0 L! u6 I: P8 }

. T  ]0 b& W# G, f  `
! k0 _( |0 E7 F6 ^- a3 S! S这里我们配置该LD2的引脚PA5为输出端口。
$ k) y$ u. Y+ F6 Q- y) C; D因为该二极管为高电平使能二极管,所以我们设置输出端口为低电平。) |* o* ?, B2 b. x9 n
因为是连接数字器件所以我们选择推挽输出模式。: c  b/ i5 _& V' h  H1 I( D2 _
设置为下拉模式。
( j! a. o# [# F2 h: X7 W因为二极管对gpio输出的速度没有要求,所以配置速度为低速。
5 u: `" q; @6 C1 e" C$ n; d为了使后面的代码可操作性更好,我设置了user lable 为LD2。) ~3 U- C  n/ a+ g" z

9 b5 x9 s, I0 ^( Y; ^代码实现  P; D0 Z- n7 L3 D% F
user lable的相关代码9 Z5 O: v0 i% }
5 v3 l4 z& |2 @( \+ e0 O& z/ n
  1. /* Private defines -----------------------------------------------------------*/
    , L2 h+ u" k* a" Q0 A
  2. #define LD2_Pin GPIO_PIN_5
    ( S3 Q& s- X4 |" a, T
  3. #define LD2_GPIO_Port GPIOA( L' \+ q& W: f1 W# T3 k
  4. /* USER CODE BEGIN Private defines */
复制代码
6 ?3 T' U$ V- G; P* k- B
主函数代码
1 {  P( s" c1 K5 Z$ t: F+ ]2 ?2 S3 n1 A2 a' r! c
  1.   while (1). r/ P4 v% x9 q+ I& W$ B- r# d* l  R
  2.   {) `0 o* J) \* N- K( |$ H( H$ j
  3.       HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
    % P$ R3 U6 s, N
  4.           HAL_Delay(1000);( B, V8 @/ R. |$ S* p5 f
  5.           HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
    ( y2 G9 N: S& E" P8 S& \* G, X
  6.           HAL_Delay(1000);
    5 J" U# w! h3 ?9 F7 N3 v$ [: a+ `
  7.     /* USER CODE END WHILE */
    # [+ }* q8 H  ]

  8. # ^/ G7 K6 a) S( m9 }
  9.     /* USER CODE BEGIN 3 */, r$ I1 K5 H5 Y1 y/ M2 Q
  10.   }
复制代码
; K  J6 U- j6 F' m3 T( t
这里就没什么好讲的了,就是上拉下拉GPIO,来让二极管发光熄灭。但是我也之前没有写最后一行的延时函数,结果那个发光二极管一直亮着的卡了我好久( \% M: q4 a) w) ~
* I* Y3 ^& A/ y& X' E; ]6 f

( ^, o# h- z' |5 J* m
! q: N7 S- n# ?: T( X9 k
收藏 评论0 发布时间:2021-11-14 23:04

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版