请各位转载的博友注明出处:http://write.blog.csdn.net/postedit/43563757
有一段时间没碰过stm32了,现在记录下来,回顾一下,也希望能给大家一些帮助
学习单片机,首先得创建一个工程,然后才能发挥你的编程才能去完成你想要实现的功能,那么,我就从创建一个stm32的工程开始
1、首先在你的电脑中,创建一个新的文件夹,我这里在桌面建立一个示范
2、打开文件夹,在打开的文件夹中建立四个文件夹
这里先了解一下这四个文件夹的用处
CORE是存储子程序的文件夹
SYSTEM是存储库函数的文件夹
OBJ是存放编译和运行时,编译器产生的中间文件的文件夹
USER就是存放主函数以及启动文件,工程目录
3、打开CORE的文件夹,在这里新建一个文件夹,用于存放子函数
4、打开USER文件夹,将启动文件复制到这个文件夹下,这里我提供一个启动文件网盘链接,供大家下载链接:http://pan.baidu.com/s/1pJLqM3h 密码:xkk3
5、打开SYSTEM,在这个文件夹中放入库文件的文件夹,这里以原子的库文件为例,也同样附一下网盘链接链接:http://pan.baidu.com/s/1o6vAxlg 密码:8z35
6、打开keil
7、在菜单栏中的project中找到New .....建立新工程
8、然后就是选择工程创建的路径,将工程放在USER文件夹中,并为工程命名,点击保存
9、然后会跳出单片机型号的选择,找到STMicroelectronics,点前面的+号,选择型号,我之前的启动文件是STM32F103的,所以这里单片机的型号要选103开头的,我单片机的型号是stm32F103ZE,所以选择这种型号的,然后点OK
然后跳出的对话框
点 否 就是了
10、然后就是将文件夹和工程建立连接关系,点下图中的图标
出现:
11、在上图中的Groups中添加system,user,core
12、选中Groups的Source Group 1,然后点Files下的Add Files
13、然后选择USER文件夹,将启动文件加入,注意:启动文件是asm的,所以需要选择下面的格式类型中的asm
14、然后就是添加
然后Close
15、选中system,继续刚刚的操作,下面以图示一步一步进行说明
然后就是close
16、建立新的C文件
17、保存文件(Ctrl + s),保存在USER中,并命名
18、将main.c文件添加进来,以图示说明
19、下面就是进行一些配置,依然是用图示来进行说明
上面的SW选项只有差了J-Link才会有的
20、一个测试程序
这样就创建好了
最后说一下怎么创建一个子程序
和创建main函数一样,先建立新文件
保存在core中的子文件夹中
再用同样的方法建立一个.h的文件,同样保存在这个文件夹下
然后就是添加到工程中去
这都和之前创建main.c函数是类似的
下面就是写代码了,将.c文件和.h文件建立连接
subl.c代码:
#include"sub1.h"
void GPIO_Init()
{
RCC->APB2ENR|=1<<2;
GPIOA->CRL&=0x00fffff0;
GPIOA->CRL|=0x33000008;
}
sub1.h代码:
#ifndef GPIO_H
#define GPIO_H
#include"sys.h"
#define s2 PAout(6)
#define s3 PAout(7)
void GPIO_Init(void);
#endif
如图:
这样就完成了建立工程