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

【经验分享】基于STM32F103C8T6最小系统板和STM32CubeMX实现板载LED灯循环闪烁

[复制链接]
STMCU小助手 发布时间:2022-4-15 11:00
一、配置CubeMX
4 ?. o0 X. @. L" Q1.1 新建工程
0 V  {7 f* {6 S5 [9 I) z1 m) N
工程选择STM32F103C8Tx芯片
$ S& y" ?( o% V2 }5 _2 n3 b3 o4 U! W% a4 L! t% r, m0 Z
XT{@N]$C0]%R2}EN1)DWORQ.png ' K2 N0 T5 f; V) X8 a
8 \( v& N' w5 H0 L# Y
1.2 时钟配置1 ?: A. g' M: z2 t
打开RCC时钟外部输入,读原理图发现外部时钟有8MHz和32768Hz,外部8MHZ可以使得时钟达到最高的72MHz,没有外部8MHZ内部时钟最高能调到64MHz。没有外部32768Hz,内部的RTC模块工作不正常,这里我们只开启外部高速时钟源,即配置板载8M晶振作为时钟输入。: |% b& D, B* b% X/ o
. J, e" O# N/ m2 {% j- T

* J; e+ q" M$ o# L* G/ H; R9 C, J8 j  P& }
1.3 Debug配置
( F, c. }0 A7 i: j3 ]
设置debug方式,STM32F103C8T6最小系统板只支持Serial wire的方式,也就是两根线:SWDIO、SWCLK,故设置为Serial wire。此时仿真器与MCU之间用SWD协议通信,即SWD(serial wire debug)。
% A6 ~9 n4 v' X+ i4 V5 b% @4 j' T% Y0 i- R8 |! N
%HAC32523{9E_V}NN)H3XD7.png 6 A4 R& h& {& f' x9 }" F1 [

$ I( V& I$ m2 ~/ P1.4 GPIO配置; |5 O; P; `: \5 F; j' z

. w' ^8 D* D2 U" R7 g aba2b7eb6192477ba9b8b00020a09c50.png
5 Y; J: p1 F8 d0 @0 y( q+ E1 Y; [5 s- L+ r) r. [' w
看原理图,可知板子上的LED灯对应芯片P13管脚,故配置PC13端口为输出。
/ E" d! ^: @" Q0 B3 w& i: S" M) o# C
! _5 E/ M6 [6 H- q& M$ a6 Z8 g I%1MZX1CU70F`{B]D~8D@88.png
+ p0 W6 S* Q+ f: t" I6 l8 y  ]; X/ M. D2 a
1.5 时钟树配置6 G; n: D- x/ N6 `) i2 a
这里直接把时钟开到最高72MHz( N/ ]/ Y$ I. h& ~. J2 q- n
9 y" L9 H3 k9 A9 \1 M6 l
2IH@V6BOSCQ8UC9PGL4}5NB.png
0 g1 n, |& U( p0 c  I6 P9 n3 p
& G9 j; D2 J' d: s1.6 项目设置
/ Z+ x" _) r3 L6 M1 _5 Y; h, o- t0 ~8 V' v+ S- i
SCH)9DYP3UW3`{6GFGCK@3Y.png 3 d! k, O( Q8 u2 \( Q+ |
# i8 F- S- W) d" M% C& `  B8 X( a& ]1 O
这里勾选上.c/.h文件分开生成。5 s7 A- j0 G9 W

  h* M' D+ N# I7 t* j _A3HD]3)0%UB$L%H0%[X%[A.png
2 a: {1 ^- _4 B: O# O( g8 f" o
: n. }, a9 w. ^; P8 W, t这样cubeMX的配置就完毕了,打开生成的工程文件。+ r$ }3 J  y& a) y
  C( L5 k: Q$ ?$ m% D6 Z! A5 m$ A
二、Keil配置
* H# o  n- X8 l2 \; R  U" m
2.1 写逻辑代码
$ s* A. j4 F5 H! v
在主函数的while里写
  1.                 HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);//状态翻转' J' Y" D" O9 A) O6 l3 w( f% d
  2.                 HAL_Delay(500);//调用HAL库延时函数,延时500ms
复制代码
5 e& w! c5 b; `0 }
2.2 设置debug
2 X  ~, c+ r0 m# [这里我使用的是DAP-Link,根据自己的仿真器选择对应的即可。
' r) R: S8 F% p! n6 U. W, A
& K1 c$ M* J- i 5JQFW])({SFWN}6%]8~A[]6.png , f/ @; t2 O0 s; {
( ]0 S+ x; l; x) D
之后在Utilities中点击Setting,勾选Reset and run,这样每次重烧代码就不必手动按复位了。
) u+ L: V6 h+ H5 k2 b3 |. N4 o3 F! r/ g2 K
5(E1HTX20~X}IZ0E(K9M]CK.png
4 `6 t2 n  l- a" D6 T) I; a; h7 N3 e0 m( y$ u
三、现象

: _* U* ~' N! t1 L( t, L之后绿色LED灯就会以1s周期循环闪烁了
  _) w( Z0 M. G6 O4 _. p: n! b! D1 ^% Z! i& r& D, @- P6 I
FYUU176EU9X}$(NA[$AXZQU.png
. ?  ]* F$ f3 x' W6 Y/ Z9 s1 a6 n+ g% b, d! V1 D. n' S
赞 收藏 评论0 发布时间:2022-4-15 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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