欢迎来到天天文库
浏览记录
ID:50655874
大小:1.12 MB
页数:12页
时间:2020-03-13
《STM32建工程之寄存器版本.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、昨天很快看懂了例程,自鸣得意,哇哦,怎么这么简单啊,结果建个工程建的捉急,逮着光盘各种翻资料,丫的全是照着建好的例程讲,终于功夫不负有心人,在今天找到一节视频里有讲,把模板建起来了,西湖的水,我的泪。。。记录一下流程首先新建一个文件夹,存放此次的工程嘛,为了移植的更有条理,建几个文件夹分别存放固件库的各种文件。在此建了四个文件夹,“CORE”,”OBJ”,”STM32”,”USER”,名字可以自己取,也可以不建,全堆一起,如果你觉得这样真的好的话。第一个是“CORE”,放的东东直接贴过来我也不知道是什么,照
2、着搞。有道了一下core是核心的意思。值得提一下startup_stm32f10x_hd.s,这个的选择得看你所使用的开发板CPU的型号,我的小飞号战舰gěgě型号STM32f103zet,具体意思百度上有,那个z的意思是512K字节Flash,大内存就选择startup_stm32f10x_hd.s。这种东东还有很多,路径如下,自己百度用哪种OBJ先不用管,用来存放自动生成的一些文件。STM32,寄存器库,里面贴两个文件夹,一个src,一个inc,一个放.c一个放.h。USER,先看图:通过路径找到这几个
3、文件贴到USER,可能有几个文件冲突了,不用管,跳过即可。打开Keil,开搞新建工程,不用说吧千万别选ARM,选STM。选完型弹出这个,点否,手动添加。右键Target1,选中ManageConponents建Groups最好和文件夹的名字一致,方便添加.c文件点击魔术棒图标之前把.c文件添加了,绝不觉得差点什么呢?肯定还得添加.h头文件舍在此,把所有包含的.h文件路径添加进去STM32F10X_HD,USE_STDPERIPH_DRIVER很重要,不加上会报错重中之重,千万别忘了还有一个.s文件,可以直接
4、CODE右键add编译,报错因为这个主函数不合规矩,全部删了,就可以开始编写你自己的函数了贴一段代码,可以用来试试模板是否建立成功#include"stm32f10x.h"//ALIENTEK战舰STM32开发板工程模板voidDelay(u32count){u32i=0;for(;i5、RCC_APB6、2Periph_GPIOE,ENABLE);//使能PB,PE端口时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED0-->PB.5端口配置GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO口速度为50MHzGPIO_Init(GPIOB,&GPIO_InitStructure);//根据设定参数初始化GPIOB7、.5GPIO_SetBits(GPIOB,GPIO_Pin_5);//PB.5输出高GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED1-->PE.5端口配置,推挽输出GPIO_Init(GPIOE,&GPIO_InitStructure);//推挽输出,IO口速度为50MHzGPIO_SetBits(GPIOE,GPIO_Pin_5);//PE.5输出高while(1){GPIO_ResetBits(GPIOB,GPIO_Pin_5);GPIO_SetBits(GPI8、OE,GPIO_Pin_5);Delay(3000000);GPIO_SetBits(GPIOB,GPIO_Pin_5);GPIO_ResetBits(GPIOE,GPIO_Pin_5);Delay(3000000);}}自此,工程算是建完了,呼呼,被那个.s文件折腾了一下午,接下来是仿真,我所使用的是J_LINK仿真器。Output勾上箭头指的选项CreateHEXFile然后点击SelectFolderforObjects…选择OBJ,这样的话自动生成的文件就会都保存在OBJ里面啦改好后,别忘了把Use9、前面的点点上如图选择。如图设置一下,也可以选JTAG,但JTAG占用的I/O口比较多,避免冲突一般选择SW.如图这样设置,就完成了。接下来编译,下载进开发板试试吧。直接下载硬件仿真
5、RCC_APB
6、2Periph_GPIOE,ENABLE);//使能PB,PE端口时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED0-->PB.5端口配置GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO口速度为50MHzGPIO_Init(GPIOB,&GPIO_InitStructure);//根据设定参数初始化GPIOB
7、.5GPIO_SetBits(GPIOB,GPIO_Pin_5);//PB.5输出高GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED1-->PE.5端口配置,推挽输出GPIO_Init(GPIOE,&GPIO_InitStructure);//推挽输出,IO口速度为50MHzGPIO_SetBits(GPIOE,GPIO_Pin_5);//PE.5输出高while(1){GPIO_ResetBits(GPIOB,GPIO_Pin_5);GPIO_SetBits(GPI
8、OE,GPIO_Pin_5);Delay(3000000);GPIO_SetBits(GPIOB,GPIO_Pin_5);GPIO_ResetBits(GPIOE,GPIO_Pin_5);Delay(3000000);}}自此,工程算是建完了,呼呼,被那个.s文件折腾了一下午,接下来是仿真,我所使用的是J_LINK仿真器。Output勾上箭头指的选项CreateHEXFile然后点击SelectFolderforObjects…选择OBJ,这样的话自动生成的文件就会都保存在OBJ里面啦改好后,别忘了把Use
9、前面的点点上如图选择。如图设置一下,也可以选JTAG,但JTAG占用的I/O口比较多,避免冲突一般选择SW.如图这样设置,就完成了。接下来编译,下载进开发板试试吧。直接下载硬件仿真
此文档下载收益归作者所有