STM32开发方式:基于寄存器方式; 基于库函数; HAL库方式。

准备库函数压缩包。

新建工程:

固件库压缩包,解压。

在桌面新建”STM32Project”文件夹;
打开Keil5软件,点击new project文件,创建新文件夹“STM32工程模板”——“project”文件夹; 选择器件型号,点击OK。弹出新建工程小助手,暂时不用。完成新建工程操作。自动生成文件:

添加工程必要文件:

打开文件夹“固件库\ STM32F10x_StdPeriph_Lib_V3.5.0 \Libraries \CMSIS \CM3 \DeviceSupport \ST \STM32F10x \startup \arm”文件夹,复制其中文件; 在工程文件夹下新建”start”文件夹,粘贴。

回到“固件库\ STM32F10x_StdPeriph_Lib_V3.5.0 \Libraries \CMSIS \CM3 \DeviceSupport \ST \STM32F10x ”文件夹,将其中三个文件复制到上一步start文件夹。

添加内核寄存器描述文件:打开“固件库\ STM32F10x_StdPeriph_Lib_V3.5.0 \Libraries \CMSIS \CM3 \CoreSupport”,将其中两个文件复制start文件夹下。

将启动文件添加到工程:

将start文件夹中其余的所有.c 、.h文件都要添加进来。

在工程选择时面添加头文件路径:

新建User文件夹,将main.c放在其中:

至此,基于寄存器开发的工程建立完毕。

拿出STM32最小系统板、STLINK和四根母对母杜邦线连接好,插计算机USB口上。电源会常亮。

寄存器编程演示:

准备库函数:

在工程文件夹下新建“Libary”文件夹。打开“固件库\ STM32F10x_StdPeriph_Lib_V3.5.0 \Libraries \STM32F10x_STDPeriph_Driver \src”文件夹,全选,复制到Libary文件夹; 再打开“固件库\ STM32F10x_StdPeriph_Lib_V3.5.0 \Libraries \STM32F10x_STDPeriph_Driver \inc“,将头文件夹全选,复制到Libary文件夹。

打开“固件库\ STM32F10x_StdPeriph_Lib_V3.5.0 \Project\STM32F10x_StdPeriph_Template \”,复制三个文件至工程的“User”目录下:

到Keil软件中,添加这3个文件。

最后需要一个宏定义,打开stm32f10x.h,找到

打开编译选项:

编译测试,第一次编译时间稍长,以后会快一些。

使用库函数点亮LED灯:1.使能时钟; 2.配置端口模式;3.设置端口数据;

新建工程里启动文件选择

新建工程步骤总结

•建立工程文件夹,Keil中新建工程,选择型号

•工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹

•工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里

•工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹

•工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER

•工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download里勾选Reset and Run

工程架构


Keil调试模式:借助Keil软件的调试模式,可使用单步运行、设置断点、查看寄存器及变量等功能。