
应为工作需要我又开始了自学STM32,刚开始学习还有有点抓瞎,视频资料找了一大堆还是不知道从哪里下手。1 u( l& K( y5 G& q% ]3 h$ H + O' ^3 U9 F# ` 这篇文章是记录自己的学习足迹! e! O" [: C! @/ S s: W$ I% D2 k* O 7 O( q. k) n- z& q7 s2 { STM32工程模板的建立:! ?7 X7 P( H/ g# P 5 P2 e; f6 y; g4 g2 E 一、先在一个文件中建立几个子文件夹:如图 3 L" n; u C0 h! L" ` ![]() cmsis: 存放的是 -时钟配置文件system_stm32f10x.c : 把外部时钟HSE=8M,经过PLL(锁相环)倍频为72Mhz -内核相关的core_cm3.h: 实现了内核里面外设的寄存器映设 fwlib: 存放的是 官方固件库V3.50版本里的src -src里面都是外设的库文件3 H- E( L7 Q3 E! ~ mylib: 存放自己写的.C文件, q Y5 ~' i' W2 t% t7 x ' ?: f! R1 G0 w5 V* \& D7 p project:建立工程的位置3 }% i# Y% T$ O& k startup: 存放-汇编编写的启动文件 startup_stm32f10x_hd: 大容量 25k-512k startup_stm32f10x_md: 中等容量 64-128k startup_stm32f10x_ld: 小容量 16-32k 设置堆栈指针、设置PC指针、初始化中 断向量表、配置(芯片上的型号写明了容量大小,具体的flash大小请参考百度) user: 存放main和-专门存放中断服务函数的C文件stm32f10x_it.c( d( U, n5 i: x X# f! Z4 { - n1 j, U6 x: K4 N0 R6 s' L 二、打开keil5,建立一个新工程在project子文件夹中 $ @8 a. e T8 t; I! r ![]() 从上到下依次点击,也是在面板中建立同名文件夹,依次将之前建立文件夹的同名下的.c文件添加到这里面,然后点击OK(src文件中的.c外设库文件,你用到哪个添加哪个,例如用到了RCC.GPIO,就依次添加这两个.c文件) 8 `4 X4 J" M+ C. w# I 三、添加宏和设置包含路径 ![]() include path :依次把建立的文件路径添加进去* O* R: h* G# U h7 o 记得设置晶振和outout 的 created hex 打上对勾; e9 q- V9 y% x$ q/ u / F/ Q/ V7 C/ z2 a. i 8 A+ [0 o: e$ o" R& y |