STM32编程之路三
现在是2016年12月18号22点17分,即是16周的周末。
今天开始新建一个LED工程和一个蜂鸣器工程,当然遇到的问题还是挺多的。
第一:编译错误。
主要是有以下这些原因:打错函数名,没有明确定义变量,重要的一点是在编程时,主要要添加对应的头文件到option的c/c++中。
第二:烧录错误。
烧录程序的时候,STM32的开发板是先打开电源,再下载程序。而51则是先下载程序,然后再打开电源。
下面是介绍怎样建立一个工程模板:
1、 建立一个工程文件的文件夹(eg:名称为工程文件),打开后并建立5个子文件夹:名称为:App,Libraries,output,startup,user。
2、 打开Keil5,建立一个工程文件在工程文件夹下,选择cpu:stm32f103ze后打开红绿白三体的图标,并建立以下5个子文件关系:
a) user:main.c/stm32f10x_it.c/public.c(3个,其中的public可略);
b) cmsis:core_cm3.c/system_stm32f10x.c(2个)
c) startup:startup_stm32f10x_hd.s(1个)
d) stdperiph_Drive:stm32f10x_gpio.c/stm32f10x_rcc.c(2个)
e) APP:(可以先不加)
3、 设置option选择:
a) Output和Listing的输出路径为1、中的output文件,并输出hex文件;
b) C/C++中设置:
i. Define:USE_STDPERIPH_DRIVER,STM32F10X_HD(添加这两个宏定义)
ii. Include:(添加5个路径的头文件):
.\user
.\App
.\Libraries\CMSIS\CM3\CoreSupport
.\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
.\Libraries\STM32F10x_StdPeriph_Driver\inc