本篇文章作为本人的学习笔记发表,小白总结,如有错误,还请大神指教。
首先建立一个工程,与51单片机建立工程相似,在keil5中点击新建工程,然后在相应文件夹内新建文件夹,其次输入自己项目名称,记住期间不能出现中文
成为这样,便成功
其次选择添加启动文件,STM32有很多地方可以与51单片机类比,51程序建立的时候会有以下启动文件,也是程序运行的第一个文件,只不过由于用的是c语言编程,所以略过了
但由于keil5在下载时没有自带启动文件,所以我们需要到官方文件里找到启动文件startup_stm32f10x_hd.s 以下是启动文件类型和适用范围。
随后将启动文件添加相应文件夹下
再在Source Group 1中添加启动文件
同理添加main.c文件于工程中,新建一个文档于相应文件夹下并重新命名
建立完成后,我们输入一个模板运行一下
结果出现以下一个错误,意思为在文件中引用但没有定义
SystemInit是由固进库完成,但我们这个工程里没有固进库,在startup_stm32f10x_hd.s 里显示为插入这个函数
所以我们在main.c自己写一个,函数体为空,目的是为了骗过编译器不报错。
与51单片机类似,stm32也会有头文件
在51中后面为<>但在stm32中为" ",他俩的区别在于<>表示头文件不在当前的工程目录下,在编译器的目录下,由于keil专门为51设计的,所以其头文件在根目录下,编译时可以直接获取," "表示头文件在当前工程目录下如果找不到再去软件根目录下找,可能会遇到报错
显示该头文件没有添加,此时去相应的文件夹下添加头文件
再运行若遇见这样一个warning
只需要最后一行,按两下回车即可
将Output中的名字改成与Target 1一致,接下来开始配置开发环境
首先将stm32烧开
在Debug中选择合适型号 DAP
Utilities部分如图
然后在Debug中点击settings
调成如图所示,此时已识别到单片机
再点击Flash Download
再点ok退出,点击编译后,下载运行
如图所示便成功
由于没有拷入指令,所以单片机没有反应