STM32F030 Nucleo 从建立固件库工程到点亮流水灯详细过程
以下所有内容仅代表个人理解和看法,如有什么冲突或不当之处还望各位海涵并不吝赐教,谢谢!
首先在电脑桌面新建一个文件夹LED,在LED文件夹内分别新建一下3个文件夹:
然后依次将官方固件库STM32F0xx_StdPeriph_Lib_V1.5.0文件夹中的相关配置和启动文件复制到以上3个文件夹内,如下图:
官方固件库文件夹下所有文件
CORE文件夹下所有文件
FWLIB文件夹下所有文件
MDK_USR文件夹下所有文件
至此新建STM32F030R8T6固件库工程准备工作均已完成,接下来就是打开MDK5软件建工程了。以上的3个文件夹CORE、MDK_USER和FWLIB中的所有文件均可下ST官方固件库STM32F0xx_StdPeriph_Lib_V1.5.0文件夹中的Libraries文件夹和Projects文件夹中找到。
打开MDK5软件点击Project->New uVision Project …弹出对话框,如图将新建工程路径定位到新建的LED文件夹内的MDK_USER文件夹中并取工程名为led,然后点击保存。
下一步进行CPU的选择,如下图选择CPU为STM32F030R8(当然选择CPU的前提是已经安装了STM32F0系列的器件库包,如果没有安装的话可从Keil官网下载安装),单机OK进入下一步。
弹出下面对话框直接关闭即可:
然后如下图在左侧工程导航窗口Target 1上鼠标右键单击选择Manage Project items...
弹出如下对话框,将左侧重命名为led右侧插入三个文件CORE、MDK_USER和FWLIB.
选择MDK_USER然后单击左下角的Add Files…弹出新对话框并定位到MDK_USER文件夹下选择如下图的3个文件,点击Add然后关闭。
用同样的方法将CORE和FWLIB中的所包含的.c和.s文件都添加进来,由于只是点亮流水灯故FWLIB文件夹下的.c文件不用全加,只需添加如下图所示文件即可。添加完后CORE,MDK_USER,FWLIB文件夹内应包括如下图所示的文件:
CORE内包括一个.s的启动文件
MDK_USER内包括3个文件:
FWLIB内包括以下3个文件:
点击ok关闭窗口在左侧工程导航窗口就可以看见刚才所加文件了如下图:
然后单击MDK工具栏中的魔术棒在C/C+下添加2个宏定义STM32F10X_LD和USE_STDPERIPH_DRIVER,且中间一定要用逗号隔开,最后再添加相应的头文件,如下图:
点击Debug选择,再点击Setting进行如下配置:
单击ok完成设置。在左侧工程导航窗口双击main.c打开然后删除main.c中的所有内容并开始编写自己的流水灯代码。
延时函数编写
时钟使能和GPIO的初始化,初始化GPIO为推挽输出,输出速度为50MHz,如图由STM32 Nucleo boards的原理图可知LED2接PA5。
对PA5进行初始化配置:
While循环内实现LED2的点亮与熄灭:
至此整个LED流水灯的配置和编程均已完成,接下来只需点击按钮下载程序到开发板即可点亮LED灯。