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

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

[复制链接]
STMCU小助手 发布时间:2021-11-14 23:04
前言5 N1 m* N4 E+ v) {( E
学完频率计之后花了一周重新看了一下物联网的东西,忙完之后终于有时间开始学习G431单片机了,花了两天时间 把发光二极管点亮了) q' n/ Y2 O8 ]
* `% E+ j# Q% w9 L; T
电路分析
  w1 s$ }0 S5 s7 R! j
20201026193256385.png
+ h; q/ T$ s  B) i6 X3 ~' z
- H- F) Y$ n) |8 E6 [
G431开发板自带的发光二极管模块3 [1 ^0 \& F0 q
/ [( k' f" m' G) T
可以看到在这个电路中PA5引脚输出高电平时三极管导通二极管发光,如果该引脚输出低电平时二极管熄灭。
9 t& @$ q; `8 S2 U9 w; M; L& z; n" P0 |) W2 R" @' L
cubemx的相关配置+ O/ i" Z. {& M; `) E, L2 j
4 f% `* e( H% J7 G
2020102619481023.png
1 z* X' Q( E  E3 g
0 y6 n2 e% `. V! o3 S* {) F! W
20201026194408220.png

4 F9 i6 F; t1 W5 l
/ g% u  q! Z- d6 @- B7 ]  j9 ?% _1 |2 @& e5 ?
这里我们配置该LD2的引脚PA5为输出端口。0 M5 R7 I" l5 b. s5 W
因为该二极管为高电平使能二极管,所以我们设置输出端口为低电平。1 d  C& _: f) m2 D3 k6 j! E
因为是连接数字器件所以我们选择推挽输出模式。, q* P, R; n4 Z: h; N
设置为下拉模式。, a5 e, |8 u$ U3 {( D& X
因为二极管对gpio输出的速度没有要求,所以配置速度为低速。
0 z) ^3 c9 N+ U% O( E- @2 D为了使后面的代码可操作性更好,我设置了user lable 为LD2。
! a- Q5 Y4 h  J( E/ _
  s2 r$ l. Q& v/ @代码实现
0 b. N* U: v' k8 q& n: Juser lable的相关代码
' f- G- E: Y7 T' _) A2 ?# z2 ~/ w9 H0 f* l6 M4 Z9 {
  1. /* Private defines -----------------------------------------------------------*/& T2 U6 J5 a) J, D. \2 N' {
  2. #define LD2_Pin GPIO_PIN_50 r) L( ]  `. E$ u
  3. #define LD2_GPIO_Port GPIOA
    ( z( K0 {+ z% b, Q
  4. /* USER CODE BEGIN Private defines */
复制代码

! I( I9 Z/ g1 I: ~6 m7 o主函数代码3 T4 `. T5 E! m. A. a

# u% d# S$ m. @. X$ t% k
  1.   while (1)
    * X$ N7 O4 W  _& j% R) X" ~
  2.   {" X; W' ?; q3 B9 f2 l/ R% }. [
  3.       HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
    ' E# n; ^# k( x" D: o
  4.           HAL_Delay(1000);9 G- c$ M1 S8 x
  5.           HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
    ' C- }" ]  ]/ T1 Z1 P9 S1 U+ r
  6.           HAL_Delay(1000);0 P( e0 h% l& J! g9 b4 }& _
  7.     /* USER CODE END WHILE */' R% C0 P* C$ `2 t+ Q
  8. ' |) U: m# `9 i
  9.     /* USER CODE BEGIN 3 */
    - f" [! v) c( t! n: S+ i1 P8 G
  10.   }
复制代码

) A3 k  w" B6 s5 w! k这里就没什么好讲的了,就是上拉下拉GPIO,来让二极管发光熄灭。但是我也之前没有写最后一行的延时函数,结果那个发光二极管一直亮着的卡了我好久( z& V3 |1 O! W

# V; X& d6 Z' n3 s+ R
8 ?  s  F  O4 M/ z4 l2 V( r0 M+ F2 E0 t# H+ O( H( d
收藏 评论0 发布时间:2021-11-14 23:04

举报

0个回答

所属标签

相似分享

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