备赛电赛学习STM32篇(一):单片机如何去学习、STM32学习(新建工程)

一、新建工程

1、 STM32的开发方式
​  目前STM32的开发方式主要有基于寄存器的方式,基于标准库(库函数)的方式和基于HAL库的方式。

​  基于寄存器的方式是用程序直接配置寄存器,来达到想要的功能。这种方式最底层,最直接,效率会更高一些。但是由于STM32的寄存器复杂,寄存器太多,所以不推荐这种方式。

​  基于库函数的方式是使用ST官方提供的封装好的函数,通过这些函数来间接地配置寄存器。由于ST对寄存器封装的比较好,所以这种方式既能满足对寄存器的配置,对开发人员也比较友好,有利于提高开发效率。本课程采用基于库函数的开发方式。

​  基于HAL库的方式可以用图形化界面快速配置STM32, 但是这种方法隐藏了底层逻辑。推荐学习过标准库的开发方式之后,对这一种开发方式进行了解和学习。

2、 新建工程的步骤

1、建立工程文件夹,在Keil中新建工程(工程文件名称为Project,存放在一个文件夹下,对该工程文件的说明写在文件夹上),选择芯片型号(本次课程选用STM32F103C8T6,故选择STM32F103C8);
2、工程文件夹里建立Start,Library,User等文件夹,复制固件库中的文件到工程文件夹;
(1)、配置启动文件

打开“固件库”文件夹,打开Libraries → \rightarrow→ CMSIS → \rightarrow→ CM3 → \rightarrow→ DeviceSupport → \rightarrow→ ST → \rightarrow→ STM32F10x → \rightarrow→ startup → \rightarrow→ arm,将文件夹中的文件复制到新建的Start文件夹中。

将启动文件导入到Keil的工程中时,启动文件只能导入一个。课程所用型号需要选择startup_stm32f10x_md.s文件。

回到STM32F10x文件夹,将stm32f10x.h、system_stm32f10x.c 、system_stm32f10x.h复制到Start文件夹中,并导入到工程组Start中(stm32f10x.h就是STM32外设寄存器描述文件,它的作用就同51单片机的头文件REGX52.H一样,是用来描述STM32有哪些寄存器和它对应的地址的)。

(2)、配置内核寄存器的描述文件

打开CM3 → \rightarrow→ CoreSupport,core_cm3.h、core_cm3.c就是内核的寄存器描述文件(其中还包含了一些内核的配置函数),同样将它们复制到Start文件夹中,并导入到工程组Start中。
(3)、配置User文件夹

在Keil工程文件中新建User文件夹,添加main.c文件(注意:添加main.c文件时的路径要选择User文件夹,否则默认放在文件夹外),这时对main.c文件进行编译检查,如果没有报错和警告说明工程建立成功。 至此,基于寄存器开发的工程就建立完成了。
在在“固件库”文件夹中打开Project → \rightarrow→ STM32F10x_StdPeriph_Template,其中stm32f10x_conf.h是用来配置库函数头文件的包含关系的,其中还包含用来参数检查的函数定义,是所有库函数都需要的。此外stm32f10x_it.h ,stm32f10x_it.c是用来存放中断函数的。将这三个文件复制下来,粘贴到工程的User文件夹中
配置库函数Library文件夹

(4)、在工程文件夹中新建Library文件夹。
在“固件库”文件夹中打开Libraries → \rightarrow→ STM32F10x_StdPeriph_Driver(STM32标准外设驱动)→ \rightarrow→ src,其中的文件就是库函数的源文件,其中misc.c是内核的库函数,其他都是内核外的外设库函数。将其中所有文件复制到Library文件夹中。
在Libraries → \rightarrow→STM32F10x_StdPeriph_Driver(STM32标准外设驱动)→ \rightarrow→ inc 中是库函数的头文件,将其中所有文件复制到Library文件夹中。

3、工程里对应建立Start,Library,User等同名称的分组(Group),然后将文件夹内的文件添加到对应的分组里;
4、点击工程选项(魔术棒)、C/C++、在Include Path内声明所有包含头文件的文件夹(Start,Library,User);
5、点击工程选项、C/C++、在Define内定义USE_STDPERIPH_DRIVER(宏定义,意为使用标准外设驱动)这是库函数的条件编译,使用库函数开发就必须要定义;

  • 该宏定义在头文件stm32f10x.h中(8296行)
  • 点击工程选项、Debug中下拉列表选择对应的调试器(本次课程使用ST-Link进行调试,故选择ST-Link Debugger),点击Settings,在Flash Download里勾选Reset and Run,勾选上这一项之后,下载的程序会立马复位并执行,省去了在开发板上手动按下复位的步骤。
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘子ゆ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值