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

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

[复制链接]
STMCU小助手 发布时间:2021-11-14 23:04
前言% i3 t( x% {' t0 G; b4 U
学完频率计之后花了一周重新看了一下物联网的东西,忙完之后终于有时间开始学习G431单片机了,花了两天时间 把发光二极管点亮了
8 {* Y  D. X" H  o9 X/ x* q7 h: u, b6 i% E4 B3 M
电路分析
+ K) D; n( u( @9 E/ d
20201026193256385.png

7 t# v( n  c2 U" P- u# v, L2 e0 x. A* x+ j$ i& V! e9 P/ _' X: S  D) h
G431开发板自带的发光二极管模块$ g2 o* D$ ~! j6 b9 A
6 x7 f! H) q7 q! a1 T! U/ x; q
可以看到在这个电路中PA5引脚输出高电平时三极管导通二极管发光,如果该引脚输出低电平时二极管熄灭。# t- h2 X+ R( N( ?# k+ ^! l' H
% N) P: Y( z) o: D) D+ u
cubemx的相关配置
: ^8 q* {1 S* Q2 U: J, @3 d: N8 n) I* U- ~
2020102619481023.png

1 u9 Z, I! L, ^* J% z7 V+ M* y
. V# P2 z: T4 ^' D7 P! q
20201026194408220.png

! U2 \; B) c# ^- P7 V4 R/ Z! z$ e7 k3 A, ]8 Q1 r

$ u$ }, b# S+ y8 H6 @这里我们配置该LD2的引脚PA5为输出端口。
' `1 d! {* {2 x% D/ E  v因为该二极管为高电平使能二极管,所以我们设置输出端口为低电平。
( }+ S, O' \. V. C因为是连接数字器件所以我们选择推挽输出模式。6 E3 A& I0 p3 S1 W2 q& M
设置为下拉模式。
) }1 w% n9 G: X$ F& o; x9 x因为二极管对gpio输出的速度没有要求,所以配置速度为低速。
- l3 ?  A1 Q# E9 D+ V/ t为了使后面的代码可操作性更好,我设置了user lable 为LD2。, M; x& W7 ?& N, ^" K

/ h" G  [* D& ^6 P代码实现
4 q6 C+ u( j% I2 s1 E; C- J& Iuser lable的相关代码
( b5 L: O& [4 |4 D) }4 O7 A- h8 {- ]/ \1 }% k: N1 \5 Z
  1. /* Private defines -----------------------------------------------------------*/. B( J2 A5 Y! G/ y  l9 u
  2. #define LD2_Pin GPIO_PIN_5) O) c9 F+ }4 p6 x' A& q
  3. #define LD2_GPIO_Port GPIOA
    : u* x: \' e$ S- S
  4. /* USER CODE BEGIN Private defines */
复制代码
( z- w" |8 v: K4 ]0 t+ l9 D2 p
主函数代码
' B4 r# Q$ f* X/ e, X; b
! v* [' N0 h$ H& ~' d
  1.   while (1)
    & a' y& a0 ~. x1 {, A
  2.   {
    . k; G* O4 F. Q- O! m: {
  3.       HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
    % X3 `' }; H# [9 E1 ]- S5 s
  4.           HAL_Delay(1000);" I2 G8 \" r! C* v6 d7 e. q
  5.           HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
    1 x7 F; h# P. z* p- ?& Z
  6.           HAL_Delay(1000);. z# Q) e4 k' _6 z
  7.     /* USER CODE END WHILE */. m" p7 [2 ^8 M
  8. ! M: N1 Y' o$ ~
  9.     /* USER CODE BEGIN 3 */
    $ D$ Q' S0 C* t" N1 h
  10.   }
复制代码

  W& Z7 f! X1 e7 `这里就没什么好讲的了,就是上拉下拉GPIO,来让二极管发光熄灭。但是我也之前没有写最后一行的延时函数,结果那个发光二极管一直亮着的卡了我好久% r% Z, g) A* ~- X* n4 Z

8 h. o9 l& h9 j9 F! g
3 j( M1 _3 o  x( @" j
5 ~+ I+ U3 h) N0 Q" @% M
收藏 评论0 发布时间:2021-11-14 23:04

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版