您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页keil mdk5.12利用固件库为stm32f10x新建工程模板

keil mdk5.12利用固件库为stm32f10x新建工程模板

来源:爱问旅游网
keil mdk5.12利用固件库为stm32f10x新建工程模板

By smile跃日少年

看了好多keil mdk利用stm32固件库为stm32f10x新建工程的文章,终于弄了一个自己喜欢的工程模板。

最终的样子是这样的

Project一栏:

Template是工程名字,模板的意思。工程下添加四个组groups,分别为: USER,用于存放主函数和自己定义的函数;

Startup Code,用于存放启动文件,hd表示高密度产品; CMSIS,用于存放配置系统时钟文件;

FWLIB,firmware libraries(固件库)的缩写,用于存放官方标准外设源文件。

工程中的groups的文件是后添加进去的,它与电脑中实际存储的位置没有关系,添加的时候能找到即可。

实际新建工程:

打开keil5,默认是空白,菜单栏中选择Project中的New uVision Project。

选择工程路径,命名工程名。

单击保存,选择器件device。

单击ok,弹出用于配置device的窗口,包括启动文件,外设等等。这里利用固件库来新建工程模板,单击取消即可。

得到:

这时,再看工程保存的位置,keil5默认建立下图的文件夹。其中:Lstings用于保存链接时产生的中间文件;Objects用于保存编译后产生的下载到单片机的Hex文件。

我们再新建两个文件夹,为FWLIB和USER,分别用于保存固件库文件和用户文件。

再看V3.5的固件库,将Libraries中的两个文件夹拷入FWLIB。

再将“模板\\FWLIB\\CMSIS\\CM3\\”路径下的两个文件夹拷到CMSIS文件夹下,其余无用的删除。再将“模板\\FWLIB\\CMSIS\\DeviceSupport\\ST\\STM32F10x\\”路径下的所有文件拷入“模板\\FWLIB\\CMSIS\\DeviceSupport\\”,其余删除。

打开startup文件夹,里面有四个编译器的启动文件,我们需要arm的。把arm中的文件拷出来放到startup文件夹,其余无用删除。

把“Project\\STM32F10x_StdPeriph_Template”路径下的三个文件拷入USER。

stm32f10x_conf.h文件拷入“\\FWLIB\\CMSIS\\DeviceSupport\\”,得到:

至此,固件库copy已经完毕,接下来往groups中添加相应的文件。 单击 添加groups

将各个组的文件添加进去。keil只能识别一级目录下的文件,这个要注意。 接下来还要添加一些变量和编译路径,不然会报错。

1.单击 ,在C/C++选项卡下,Define定义STM32F10X_HD,USE_STDPERIPH_DRIVER。

在Include Paths下添加

完成后,将main.c文件中的程序换成自己的程序,再编译就不会报错。 示例程序如下:

#include\"stm32f10x.h\" void Delay(unsigned int i) { unsigned int j; for(;i>0;i--) for(j=0;j<1000;j++); }

int main() { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_5); while(1) { GPIO_ResetBits(GPIOB,GPIO_Pin_0); Delay(3000); GPIO_SetBits(GPIOB,GPIO_Pin_0); Delay(3000); } }

smile跃日少年

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务