
应为工作需要我又开始了自学STM32,刚开始学习还有有点抓瞎,视频资料找了一大堆还是不知道从哪里下手。 $ ]/ ~, w! l# C! [5 w! x2 \ 这篇文章是记录自己的学习足迹 # I. D& K# O1 y1 j3 f+ Q k2 S STM32工程模板的建立:8 R- E+ n) ?6 G; d8 Y4 { 一、先在一个文件中建立几个子文件夹:如图 # i. g# W- f0 i; |/ m ![]() cmsis: 存放的是 -时钟配置文件system_stm32f10x.c : 把外部时钟HSE=8M,经过PLL(锁相环)倍频为72Mhz6 I, V5 V. D( y- E+ F% E0 E y 0 f* f- [1 T3 L9 J" ? -内核相关的core_cm3.h: 实现了内核里面外设的寄存器映设 0 L3 ], L+ P- P: S8 a9 i' s2 r ; U- a1 A8 f- E5 A' y6 }0 E fwlib: 存放的是 官方固件库V3.50版本里的src -src里面都是外设的库文件 O5 N* D" k$ ~/ O* c- r% K / s7 J! J2 L* c! W2 ~7 q; a( d mylib: 存放自己写的.C文件# b. ^. O/ L. E& _% X6 k8 ~' |% E& e! F 8 y4 J Y- b L. j project:建立工程的位置3 O( i. h: Y9 y$ E' `$ L& o8 K startup: 存放-汇编编写的启动文件 startup_stm32f10x_hd: 大容量 25k-512k& U5 o( J/ Q$ r1 w" b% \( P) I startup_stm32f10x_md: 中等容量 64-128k* @8 I$ X6 h, e& R# l startup_stm32f10x_ld: 小容量 16-32k 设置堆栈指针、设置PC指针、初始化中 断向量表、配置(芯片上的型号写明了容量大小,具体的flash大小请参考百度) u3 e8 @3 C& G; R ' D$ k7 _, U8 Q3 F user: 存放main和-专门存放中断服务函数的C文件stm32f10x_it.c1 F; ~- O7 W: d- f% \& M3 g ^2 M) G 二、打开keil5,建立一个新工程在project子文件夹中1 @* A+ C" \' _+ d! f% X 2 s n/ U' P# R0 R6 I! H ![]() 从上到下依次点击,也是在面板中建立同名文件夹,依次将之前建立文件夹的同名下的.c文件添加到这里面,然后点击OK(src文件中的.c外设库文件,你用到哪个添加哪个,例如用到了RCC.GPIO,就依次添加这两个.c文件)' C& w0 ^; G& {3 n) f& C ' U8 B5 B& _% U& n, U4 C 三、添加宏和设置包含路径. X; I: L9 S4 e( W 7 Q0 q d. h; P0 z: l ![]() include path :依次把建立的文件路径添加进去* o0 t9 ~: C- N% v! A1 X* x 记得设置晶振和outout 的 created hex 打上对勾0 k5 u% C* R: E . Z. A! e( V% q |