1. 工程更换不同的STM32芯片 eg:stm32f103rct6 ---->stm32f103c8t6: + `. F/ a8 b7 G5 Q4 p3 {* Z 1.1. 修改芯片 : S, H' M; h7 h" g 点击魔术棒,在出来的菜单栏里,Device 选项重新选择芯片
1.2. 修改启动文件) w2 Q0 A; I. n" X" a0 S" P 此处举例是 RCT6 修改为 C8T6,因为 flash 容量大小不一样,所以需要对应修改启动文件,如果是 flash 大小相同,此步骤不需要。此处由:startup_stm32f10x_hd.s修改为startup_stm32f10x_md.s
6 I; Q3 e9 t; C4 `0 { U ]" P 1.3. 修改全局宏定义* i- `7 [* w% o3 T 同样先点击魔术棒,在菜单栏选择 C/C++。进而修改全局宏定义。此处:STM32F10X_HD–>STM32F10X_MD
# z* t0 a7 N c# x 1.4. 重新添加FLASH0 O1 U. d1 S9 ?8 B# ], k6 w* ^ ( o6 r7 e+ h( y. X; A; U' c 此处是将大容量的 RCT6 修改为中容量的 C8T6,所以我们需要重新添加 flash。
至此,一个工程就从 RCT6 修改为 C8T6 ,编译下载即可。 0 }+ H, c% J+ E5 E P4 C* z9 l. `& b. [# W+ s 2. 外部晶振的修改) l( E/ J1 @3 R3 U; Z* W% w 此处举例:8M---->12M 常见的STM32硬件外部用的也是 8M ,今天一个新板子原理图画的是25M,实际焊接的是 12M,找了一下午问题,最后发现是晶振引起的问题。遇到问题,除了多思考总结,也要在网上查找资料,很多问题我们的前辈已经遇到并且解决了,这样我们学习的过程也会轻松一些。 : ^* M5 B7 T2 a0 S5 a3 s( }2 Y1 x* U& O 2.1. 修改 stm32f10x.h 文件2 S; n& x. j- D; z6 W , b; ^! {( D* |) }0 }# l 默认是8M,修改为12M。
4 F, q) _( r2 w3 d
* r; O0 s7 p. N% C" t3 }' q# R; W 2.2. 修改 system_stm32f10x.c 文件 默认是9倍频,最大 72MHz。修改为:RCC_CFGR_PLLMULL6。
5 Z D O+ @( q2 O9 Z | - \! _( c0 G! K$ k* Z6 h 1 l( O) x% z' U" r$ l ; y8 Y5 L! u. X6 y7 ~0 W. } |