1.1新建工程前准备1.新建一个目录,这里命名为“led闪灯”2.然后在led闪灯目录下建立四个目录“Lib”用于存放固件库文件“Obj”用于存放输出文件如烧写文件“HEX”“Start”存放启动文件“User”存放用户自己的程序文件如下图:3.STM32标准外设库V3.0,在邮箱中保存,下载后可以解压FWLib得到。4.将固件库中的\Libraries\STM32F10x_StdPeriph_Driver目录下的inc和src两个文件夹copy到\led闪灯\Lib目录下。这两个文件夹存放了外设库的源文件。已复制到Lib目录下5.将固件库中的FWLib\Libraries\CMSIS\Core\CM3文件夹下的C文件和H文件全部copy到\led闪灯\Lib目录下。这个文件夹存放了CM3源文件6.将固件库中的FWLib\Libraries\CMSIS\Core\CM3\startup\arm目录下的startup_stm32f10x_hd.s文件复制到\led闪灯\Start目录下,startup_stm32f10x_hd.s文件是启动文件7.当然固件库中的\Libraries\CMSIS\Core\CM3\startup\gcc文件夹也存放了外设库的源文件。这里没用。有兴趣的朋友可以研究下。8.COPY固件库的\Project\Template下的4个文件到\led闪灯\User目录:到这里为止我们建立工程前的准备工作已完成,可以开始建立工程了。1.2MDK建立程及软件设置1.由于和51用的一个环境,所以容易适应2.运行MDK软件,在led闪灯目录下新建工程Project-第一个选项3.存放到\led闪灯目录下,工程名这里用Uart选好路径后点保存4.选择处理器,我们的开发板配套的是STM32F103VE选择后点OK5.点击OK,这时会提示我们是不是自动COPYMDK自带的启动代码,选择否,因为我们要用ST的外设库里面带的启动代码6.对工程管理,点MDK上的“品”字型图标7.建立三个组:User、Lib、Start8.User中添加\LED闪灯\User下刚刚copy的两个C文件。9.Start中添加\led闪灯\Start下的startup_stm32f10x_hd.s文件。10.Lib中添加\led闪灯\Lib\下的两个C文件。和src下所要用到的C文件当然了,不熟悉固件库的朋友可能全部添加进去,我们这里写LED闪灯程序为例只要用到三个文件:stm32f10x_usart.cstm32f10x_gpio.cstm32f10x_rcc.c添加完成后点“OK”保存设置11.接下来是重点设置,下拉菜单打开,也可以点下面的快捷图标打开12.设置objects的目录:点再打开\led闪灯\Obj点“OK”勾选上HEX文件也输出到Obj目录13.对图设置14.在Define中写入USE_STDPERIPH_DRIVER,STM32F10X_HD,其中第一个“USE_STDPERIPH_DRIVER”定义了使用外设库,定义此项会包含*_conf.h文件,从而使用外设库;而第二个“STM32F10X_HD”从字面理解应该是定义了高等容量的STM32MCU,但是实际中好像并没有用到,不过库中的例子带了,我也加上了。15.接下来要设置启动文件的属性:接下来对图设置16.如果现在编译的话,会有N多错误,大多是因为头文件的关系。MDK4.12自带的头文件是用的以前的ST固件库,2.XX版本的,而我们现在用的是3.00的外设库。更可气的是它们的文件名是相同的……如果设置头文件路径不对的话,MDK会搜索它自带的头文件,而不管版本,只管名字,就不能正确编译。所以要正确的设置头文件的路径。点图中A处点New(Insert)图标接下来再点选择\led闪灯\Lib\src目录添加这三个目录:\led闪灯\Lib\inc;\led闪灯\User;\led闪灯\Lib\;这三个目录包含了所有我们用的头文件。设置完成了17.到此我们可能偿试一下编译了。编译通过了,这时我们可以在main.c文件下写自己的代码了