
一、配置CubeMX 1.1 新建工程5 p" ]6 E. H$ R 工程选择STM32F103C8Tx芯片 ![]() 8 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 ![]() 1.3 Debug配置 设置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 ![]() $ S9 e3 @! |/ `0 ` P 1.4 GPIO配置 ![]() 看原理图,可知板子上的LED灯对应芯片P13管脚,故配置PC13端口为输出。 ![]() 4 i# x* e4 e% n: L 1.5 时钟树配置 这里直接把时钟开到最高72MHz7 r; a; Z5 j: _& B3 t7 i ![]() 1.6 项目设置 ![]() 0 ^! E+ y: D% O! A1 {( {3 U 这里勾选上.c/.h文件分开生成。 ![]() 这样cubeMX的配置就完毕了,打开生成的工程文件。6 G* T. D! x9 f# l/ q/ W5 C7 s 二、Keil配置 2.1 写逻辑代码3 C4 g( f# c6 V: R( b 在主函数的while里写
2.2 设置debug 这里我使用的是DAP-Link,根据自己的仿真器选择对应的即可。 ]& b4 a/ V' h- u. J* h# m2 g# b( } ( }3 w) A" E3 Z' h" z9 E ![]() 之后在Utilities中点击Setting,勾选Reset and run,这样每次重烧代码就不必手动按复位了。 ![]() 3 N! a( ~/ R4 t2 p! F2 [ 三、现象2 Y9 t9 t5 k) m! o. T5 s 之后绿色LED灯就会以1s周期循环闪烁了 ![]() * L# F0 F2 E# F) L+ d+ T; Q+ r |