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

【经验分享】STM32CubeIDE自平衡小车教程2.GPIO引脚设置和LED灯点亮

[复制链接]
STMCU小助手 发布时间:2022-3-15 22:00
本小车使用的是亚博智能小车,使用的主芯片型号是STM32F103C8T6,在此我们首先需要做的是理清一下实现LED灯点亮的思路。5 g0 W" @) g0 g# w- j: r
/ y( r1 l6 n. J8 `6 t
点亮LED的思路如下:% ?5 H. f: G4 B7 {' a+ V! `8 L& C7 L
1.准备工作:通过主板芯片的原理图,找到LED所对应的引脚,这是为了后续对LED进行GPIO设置。
* F$ ?8 A* E: {7 j) M# i: n: x
; Y$ T# T% m; X2.建立工程项目并进行GPIO引脚设置。% P$ p( N/ C' G- r

* F+ V+ x& E- ?( L) D) ~3.生成代码,编写添加使得LED灯点亮闪烁的代码。
. ^4 e; a* m9 R; B  z4 ^% d* L  Z; X% [6 L6 I; o& u
4.编译代码并烧录进主板,实现LED灯点亮。
  p) A' F" J" x; h, m9 G8 g( G7 V- G2 r& E& @/ c: t
接下来我们就按照步骤一步一步实现来实现。
7 c! a5 o: V7 ]6 n8 x5 w5 @9 \' R8 }2 L: V, C/ S) B
1.准备工作:通过主板芯片的原理图,找到LED所对应的引脚,这是为了后续对LED进行GPIO设置。
& ?' ]  ~. c- L, z' h$ a
2 y9 |; u' a  G2 w% s9 @. N! ^6 K 6OT%N48R3}9Z3LB%[5HCX5K.png
0 y5 N. Z( d7 e/ u  X, W( G
" j. H, r, T/ S! f, y" d上图为主板芯片的原理图,LED在左下部分,咱们单独拿出来看:
% @2 Y, B9 u8 f6 W5 q8 p: q4 F# S; Q$ w
G89KTTQJ%N1~OEKPRHP`Y.png
$ o( L, n; x) R0 T* z& ]
6 v6 H$ Z  W1 p可以看出LED所对应的引脚是PC13,后续设置GPIO的时候会用到。
2 ?5 N& R3 C. m9 ^1 ]. }4 x3 d( ]) q; v& C0 Y: b) c  c2 B
2.建立工程项目。. w1 ?! P% m- j
具体步骤如下:
# F3 D4 Z$ z! {# r+ r; S3 p2.1 打开STM32CubeIDE软件,新建一个工程项目。
8 |" V4 \6 P: ^3 y# r' d! p$ m* E5 ?2 d# b- n2 j' j
GDEP)Q7F`738%P$S2DEFKET.png * t# r- x( c3 \
8 G( [" X1 d+ b: \
2.2 选择芯片。这里先输入STM32F103C8,选中芯片点击右下角NEXT.
/ `; u* w0 O! V3 z
0 e3 C; g1 H9 Q/ ^: q1 g T$D4~[NB[7P9YDM6TIEV$XE.png
* |* G9 r, j0 e& S, y2 P/ {& F
$ ]2 h' f  s! @2 }2.3 给此次的工程文件命名。
+ ^7 ^& h3 s: r: c$ N
+ K  d0 [! q8 a8 S' p$ c% E @FBGUKJ[T4I8WD$OZ@0BNMG.png
' ?6 U& C7 \! b# U& z: M# k6 `  M' K" B8 l# y, t1 k
2.4 在System Core中选择RCC进行设置,然后将High Speed Clock(HSE) 和 Low Speed Clock(LSE) 选择 Crystal/Ceramic Resonator 即选择晶振。
$ z: [: b; {9 A3 h* G2 V0 D& @8 f9 C3 ^4 H  ?$ a
$ZV211{48)FK})GFC7IL6I7.png
! V! c0 `. K5 J6 h5 s
5 @: j' A7 \8 C4 g' O2.5 在左侧的System Core中选中SYS,然后将Debug选择Serial Wire。这里设置是把系统配置和模式设置成SWD接口,方便我们调用SWD调试工具。
' Z/ }. T- @9 @* |$ G: [: f& v5 a: m; }$ b) w6 x6 b7 S
G(OOPZLA}_W`D4OIA~TLD]3.png 2 q' D$ b- ~' ?
! W; U2 o4 ^  a- N
2.6 接下来就需要设置LED对应的引脚了,左键单击PC13,将其配置成GPIO_Output3 ~! h0 c/ Z  U! ]3 P

. \. B! h( w% N XK6E$MT9K$@K$IU628YAUSJ.png
/ D; @2 e" l) _% O3 d
4 T0 ], ^& ?- _2.7 选择左侧GPIO,在GPIO Mode and Configuration中对PC13引脚进行配置,GPIO output level 为默认输出电平,这里保存默认设置低电平就好;GPIO mode 表示GPIO引脚模式,这里保留默认设置;GPIO Pull-up/Pull-down保留默认设置;Maximum output speed 为最大输出速度,这里选择High,高速输出。User Label为用户标签,这里输入LED,方便我们后续在写代码的时候调用。( M- K' ?7 T) M& @; D  L2 S4 Q
  N" A1 v/ g% r6 j
V}YS6[G0EPVHMUJ2R}{`1BF.png
7 ^7 f" e2 m! b) U& ]3 R! b7 ~, B7 d6 Z- H, H
2.8 选择Clock Configuration,进行时钟的配置,将HCLK(MHZ)改成72,然后按下回车键。, o% ]0 ~8 u# I; O+ y- A
- _* a! B/ d+ Q; U/ Q6 L6 `
(PJC~7V0)CNRU[BXYPDDP6Q.png 4 n3 r! ?! V( p# P4 q  p

) u! ]' n- P0 o! {- R( R4 M  g2.9 至此设置完成,点击  生成代码。
1 X  Z2 ?+ c* i
; U" J) H4 k2 Y& E7 x3 t SCV_{F382]UNG9@L{N9JF.png ' X/ [2 U: |6 T/ {+ B. x
) `" ~+ M3 Z$ f* R# X8 U8 z
2.10 烧录进小车主板芯片,完成LED灯点亮。
6 G3 B# t. F  E6 y(烧录教程可参考:)
) z' H0 m' ?1 O$ e) l0 p9 ^7 e4 G* M
图中黄色灯为控制的LED灯
. ~+ w' X4 Z% }3 W9 k6 m
7 O) Z( ]4 e" Q6 @9 y* ` K_DY{%)6]$W`ZMZ{NPWR8LO.png ; ~; A, L9 a! k
2 j  Z, \  P9 A5 i6 A! P+ y
此时LED为常亮,如果想让LED灯实现闪烁。还需要在加入代码。
  d9 e5 V. p) m- I) U6 S, H8 {: N& S
3. 实现LED灯闪烁步骤如下:
# @' ~) W+ n- N6 m) o   3.1 在Project Explorer-LED-Core-Src的路径下找到main.c文件,双击main.c文件,在main.c 文件中找到while()函数。
, R* H# U% w- k' j& ]
9 c2 P( }' I, G6 U: n2 I" K, t9 e PEN$WY0JEY94S]A{6HNRNWP.png # L' i  o- A* ?; J

7 e& ~: |* x' D( }) i- H  a加入以下代码:
/ ^% ^/ |3 T, E7 P8 Z
  1. HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//翻转LED引脚的电平
      b6 p" h* I$ A9 i
  2. HAL_Delay(500);//延迟500ms,即0.5s
复制代码

9 {6 A" z! m7 F0 wPS:一定要注意代码一定要加在BEGIN WHILE和END WHILE中,这样代码才会运行。! o! E1 k3 H2 F
% [+ }6 F% y$ S2 l6 J/ j9 g) n
JI}1(GC7IJ8~H[Y$GMUXHC4.png - h7 e' X9 [$ E! n

- @6 _" c. X" y! n5 D3.2 点击编译,不报错即可进行烧录。
+ h/ m( x7 F$ i" \; Y( R7 o5 J- |5 |/ _+ F2 W2 ]
A]N%IBBF}QN]P7IT[HUYIYC.png . L9 ?8 R, \7 Q
% ~" T0 W: G+ l
3.3烧录完成后可以观察到LED灯以1s一次的频率进行闪烁,完成LED闪烁任务。
! S9 B' ]8 i+ z% `4 z) b6 V- w
3 W2 y, w. D9 x5 ISTM32CubeIDE中LED闪烁教程) K6 u* M1 O% w6 k  E
& W- p! p. F9 |% ?+ D
0 e" `- y: B: o, x- D6 F
" t  D1 Y$ _6 T2 z- `

8 A$ X/ t$ }, r( u$ Q4 r
收藏 评论0 发布时间:2022-3-15 22:00

举报

0个回答

所属标签

相似分享

官网相关资源

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