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

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

[复制链接]
STMCU小助手 发布时间:2022-4-15 11:00
一、配置CubeMX
8 N$ e+ F( ^$ I4 a' \1.1 新建工程
5 p" ]6 E. H$ R
工程选择STM32F103C8Tx芯片
8 P; }; g0 X& m$ a1 {' c
% `& g, F6 l: R2 V1 { XT{@N]$C0]%R2}EN1)DWORQ.png
0 p4 p( d0 S7 E7 `# L8 J& F- `# R' G! C. D6 `
1.2 时钟配置4 |5 t& r7 p# D! d' v
打开RCC时钟外部输入,读原理图发现外部时钟有8MHz和32768Hz,外部8MHZ可以使得时钟达到最高的72MHz,没有外部8MHZ内部时钟最高能调到64MHz。没有外部32768Hz,内部的RTC模块工作不正常,这里我们只开启外部高速时钟源,即配置板载8M晶振作为时钟输入。6 P/ V& w4 s, e& U4 }
3 R: M% t( l( O, a" I/ q. N+ n

0 W4 D8 b% N& l' W: E* J' g* L
9 B, P0 Q; E0 T4 q1.3 Debug配置

+ }+ N2 B# f; b' e3 I) G% i! C设置debug方式,STM32F103C8T6最小系统板只支持Serial wire的方式,也就是两根线:SWDIO、SWCLK,故设置为Serial wire。此时仿真器与MCU之间用SWD协议通信,即SWD(serial wire debug)。# \3 N! N7 M3 l
: c* n8 b. P: Z" I/ {/ D/ x8 N
%HAC32523{9E_V}NN)H3XD7.png
; U# @2 H1 z# o5 w$ S9 e3 @! |/ `0 `  P
1.4 GPIO配置
- Y. j! P/ t5 D1 y, l6 v" Z
  q( O, m4 ~: x* K7 x" ?* a* O aba2b7eb6192477ba9b8b00020a09c50.png 2 r8 i$ X4 L5 Z' h8 U  W

$ J! l8 }, E# @9 R; l: z看原理图,可知板子上的LED灯对应芯片P13管脚,故配置PC13端口为输出。
+ ]2 W$ ?$ j, M5 P
$ G& ~9 z- ~9 |! P  |/ V6 `9 R I%1MZX1CU70F`{B]D~8D@88.png 8 Y) X" O% G5 m+ G
4 i# x* e4 e% n: L
1.5 时钟树配置
) P  o$ |1 O$ b这里直接把时钟开到最高72MHz7 r; a; Z5 j: _& B3 t7 i

# k  t8 [" j+ r7 A/ ? 2IH@V6BOSCQ8UC9PGL4}5NB.png 4 b. K& f" e% |; x7 S. o/ `

2 M( ^( R; ~; N( ?1 [& }) {1.6 项目设置
0 h# v' n- L, e1 J
/ K& {& E& n: l/ z  r3 ` SCH)9DYP3UW3`{6GFGCK@3Y.png
2 V& j/ Y4 S( R0 ^! E+ y: D% O! A1 {( {3 U
这里勾选上.c/.h文件分开生成。
% Q( X: ], x9 |5 z% I/ I# b
. c% c2 V# N9 C, C _A3HD]3)0%UB$L%H0%[X%[A.png
2 I$ _, U2 V- K. y
- p0 M; @9 p; F0 \: m这样cubeMX的配置就完毕了,打开生成的工程文件。6 G* T. D! x9 f# l/ q/ W5 C7 s

( q+ I$ `3 B4 c4 N$ z9 x9 s7 c二、Keil配置

# W. ~" ?! ?% J9 D* P/ [2.1 写逻辑代码
3 C4 g( f# c6 V: R( b
在主函数的while里写
  1.                 HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);//状态翻转
    ) s3 R! t' ~7 L6 z8 |
  2.                 HAL_Delay(500);//调用HAL库延时函数,延时500ms
复制代码

7 ~" W2 c  M) o0 x0 r2.2 设置debug
" i+ R$ Q3 S/ u: F这里我使用的是DAP-Link,根据自己的仿真器选择对应的即可。  ]& b4 a/ V' h- u. J* h# m2 g# b( }
( }3 w) A" E3 Z' h" z9 E
5JQFW])({SFWN}6%]8~A[]6.png 5 `7 [4 B: k7 j: c

  n9 n& s8 p5 f& j3 p之后在Utilities中点击Setting,勾选Reset and run,这样每次重烧代码就不必手动按复位了。
1 l% _. t* W. O  S0 I8 G
9 h, f) q6 F; {- t+ Z4 i: s/ _ 5(E1HTX20~X}IZ0E(K9M]CK.png
4 N/ O5 a% F) D; x3 N! a( ~/ R4 t2 p! F2 [
三、现象
2 Y9 t9 t5 k) m! o. T5 s
之后绿色LED灯就会以1s周期循环闪烁了
6 M3 W! @- d1 X- B; m/ c' h+ Q0 r
/ n% [3 G& [0 u* | FYUU176EU9X}$(NA[$AXZQU.png
* ^: `' q0 R0 q( v  P3 L* L# F0 F2 E# F) L+ d+ T; Q+ r
收藏 评论0 发布时间:2022-4-15 11:00

举报

0个回答

所属标签

相似分享

官网相关资源

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