1.在桌面新建工程文件夹,将示例代码加入
2.新建工程框架,选择路径为USER目录下(或者MDK-ARM目录)
3,选择主控芯片
4.cancel
5.添加文件:设置工程名和分组名,添加启动文件,添加system源码
工程名:Template
分组名:Startup,User,Drivers/SYSTEM,readme等
双击任意文件夹添加文件
statup文件夹下需要添加的文件为s文件,也就是启动文件
system源码中添加的文件为:delay.c sys.c usart.c
user源码中添加的文件为 stm32f1xx_it.c , system_stm32f1xx.c,这里根据文件夹中你需要的c文件进行添加
魔术棒设置
1.target选项
在魔术棒设置的target选项里,STMicroelectronics 选项中设置的参数为高速晶振,无论是zet6开发板还是c8t6最小系统板,都设置为8mhz,这里根据电路原理图就可以得知。
其实stm32集成了两个晶振,外部高速和内部低速
低速晶振 32.768kHz
从图中可以看出,低速晶振 32.768kHz 连接LSE(low-speed external clock signal),最终到达RTC(real-time clock)。
RTC 是一个独立的定时器 1 。从 real-time clock(实时时钟)四字可以理解,RTC可以为系统实时记录当前系统时间和日期,不管芯片有没有掉电。如果想要使用 RTC 实时记录系统时间,芯片需要接入额外备用电源,通常为纽扣电池。这样以来,RTC 在芯片掉电后,可以由电池供电继续运行。对于掉电后不需要记录系统时间的电路板,我们将低速晶振 32.768kHz 舍去,节约板子空间,精简电路设计。
高速晶振 8MHZ
从图中可以看出,高速晶振 8MHz 连接HSE(high-speed external clock signal),最终到达SYSCLK(system clock)。
SYSCLK 是系统时钟,为芯片内部各大模块的运转提供动力,不可缺少。高速晶振 8MHz 作为系统时钟的来源,可以由芯片内部的 HSI RC 时钟源或芯片外部的 独立时钟源 提供。在使用芯片内部的 HSI RC 时钟源做为系统时钟时,发现时钟有偏差,导致串口设备无法使用。由于芯片内部的 HSI RC 时钟源不够精准,我们通常采用外部独立时钟源来来为芯片提供系统时钟。
对于 STM32 电路板,外部高速晶振 8MHz 需要保留,为芯片提供系统时钟,使芯片能够正常工作
版本设置:
2.output选项
设置输出的文件夹,我保存的一般为OBJ文件夹,勾选create hex file
2.Listing选项
和output一样,OBJ,选完之后记着把user文件夹里的listing和object文件夹删除
3.C/C++选项
如图
include paths为所有头文件(h文件)的包含