stm32软件安装以及创建工程

文章目录

  • 前言
  • 一、软件安装
    • 软件破解
  • 二、创建工程
  • 三、创建项目
    • 创建组
    • 配置启动文件
      • 添加到组
    • 为项目添加头文件路径
    • 创建源文件(main函数文件)
    • 使用寄存器配置引脚
      • 拼接好STLINK与stm32最小电路板的接线
      • 编写程序
        • 配置STLink下载程序
        • 配置寄存器
        • 配置13号端口(信号灯的端口)
        • 配置输出端口寄存器
    • 使用库函数
      • 配置库函数文件
      • 使用库函数点亮信号灯
        • 配置定时器
        • 然后是配置端口模式
        • 最后一步就是电源供给
        • 具体代码如下
    • 启动文件的分类
  • 总结新建工程步骤


前言

基于bilibili 江协科技《STM32入门教程-2023版 细致讲解 中文字幕》的学习记录,资料资源:https://jiangxiekeji.com/download.html,以下操作大多基于此资料。

一、软件安装

需要安装keil5 MDK,老方法进入官网点击download
stm32软件安装以及创建工程_第1张图片
选择MDK版本
stm32软件安装以及创建工程_第2张图片
然后注册信息自己填写

软件破解

使用管理员身份打开keil5
选择file中的license management,复制如图id
stm32软件安装以及创建工程_第3张图片
打开破解程序keygen,按照如图顺序,把刚刚复制的id放入cid中,点击generate,3指向的框中就会产生一串字符串,复制这串字符串。

注意:此软件可能会被识别为病毒,可以在windows安全中心允许这个程序行为即可。

stm32软件安装以及创建工程_第4张图片

粘贴到如图框中点击add lic,上面会显示相关信息。
stm32软件安装以及创建工程_第5张图片
这样软件就破解成功了。

二、创建工程

打开keil5,点击pack installer
在这里插入图片描述
选择需要的包内容,双击下载,下面会显示进度条,速度比较缓慢。
stm32软件安装以及创建工程_第6张图片
这样就可以创建stm32f103c8的项目了
stm32软件安装以及创建工程_第7张图片

``

三、创建项目

由于stm32有大量的寄存器,操作起来十分复杂,所以采用基于st公司所创建的基本库,通过调用函数来操作。

创建组

右键Target 1,点击Add Group,然后单击两下刚刚建的组修改名字。
stm32软件安装以及创建工程_第8张图片
stm32软件安装以及创建工程_第9张图片

配置启动文件

以下基于资料文件的路径

注意:先创建一个与项目同级目录下的Start文件夹,保存这些文件,再将这些文件加入到Start组,后面的同理

复制目录:STM32资料\固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 中的所有文件(选择需要的型号加入Start组,这里选择md.s结尾的文件其他的不需要加入组)和STM32资料\固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录如下文件(图二)和STM32资料\固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport中两个内核文件 到工程的Start组(自定义名称)中,如下图
stm32软件安装以及创建工程_第10张图片
stm32软件安装以及创建工程_第11张图片
stm32软件安装以及创建工程_第12张图片

添加到组

右键组,加入外部文件,选择相应文件add即可
stm32软件安装以及创建工程_第13张图片

stm32软件安装以及创建工程_第14张图片

为项目添加头文件路径

不然会找不到头文件而使用不了。
在这里插入图片描述
选择你刚刚创建的Start文件夹即可
stm32软件安装以及创建工程_第15张图片

创建源文件(main函数文件)

同样,在项目同级目录下创建User文件,并在keil中创建User组,名称可自定义,创建的main.c文件放在User文件中,再加入User组。
stm32软件安装以及创建工程_第16张图片

使用寄存器配置引脚

拼接好STLINK与stm32最小电路板的接线

stm32软件安装以及创建工程_第17张图片
然后插入电脑,如下则成功
stm32软件安装以及创建工程_第18张图片

编写程序

配置STLink下载程序

在项目配置中选择STLINK debugger
stm32软件安装以及创建工程_第19张图片
然后点旁边的settings
stm32软件安装以及创建工程_第20张图片
编译之后,点击download即下载程序
在这里插入图片描述
下载成功后,信号灯就不会再闪烁了
stm32软件安装以及创建工程_第21张图片

配置寄存器

先配置时钟寄存器,通过参考手册查看使能信息
stm32软件安装以及创建工程_第22张图片
在这里插入图片描述
所以其他位全0,第四位置1,打开IO端口C时钟使能。
即 RCC->APB2ENR = 0x00000010;

配置13号端口(信号灯的端口)

stm32软件安装以及创建工程_第23张图片
stm32软件安装以及创建工程_第24张图片
如上图配置,即 GPIOC->CRH = 0x00300000;

配置输出端口寄存器

低电平点亮,如下图将13位配置为低电平
stm32软件安装以及创建工程_第25张图片
所以直接给全0信号灯就会亮,即 GPIOC->ODR = 0x00000000;
然后编译下载程序
stm32软件安装以及创建工程_第26张图片

使用库函数

配置库函数文件

项目同级目录下创建Library文件夹来存放库函数文件,并在keil创建Library组,将 STM32资料\固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src 中所有文件复制粘贴到刚刚创建的Library文件夹中,然后添加到Library组中
然后将 STM32资料\固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 中如下文件复制粘贴到User文件夹,并加入到User组中
stm32软件安装以及创建工程_第27张图片
最后还需要一个宏定义(USE_STDPERIPH_DRIVER),并添加所有的头文件目录
stm32软件安装以及创建工程_第28张图片

使用库函数点亮信号灯

和寄存器配置顺序一样

配置定时器

函数定义如下,参数分别为选择寄存器、是否使能
stm32软件安装以及创建工程_第29张图片

然后是配置端口模式

函数定义如下
stm32软件安装以及创建工程_第30张图片
第一个参数选择要配置的端口,第二个参数需要是一个结构体,需要我们自己定义,使用他给的类型GPIO_InitTypeDef GPIO_InitStructure;这种方式定义结构体,然后使用结构体的成员方式进行配置,三个成员变量定义如下
stm32软件安装以及创建工程_第31张图片
成员的值如下
选择端口:13
stm32软件安装以及创建工程_第32张图片

选择频率stm32软件安装以及创建工程_第33张图片
选择模式:通用推挽输出
stm32软件安装以及创建工程_第34张图片
给成员赋值之后就可以使用GPIO_Init函数配置端口了。

最后一步就是电源供给

高电平供给
stm32软件安装以及创建工程_第35张图片
低电平供给
stm32软件安装以及创建工程_第36张图片

具体代码如下
#include "stm32f10x.h"                  // Device header

int main(){
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOC,&GPIO_InitStructure);
	GPIO_SetBits(GPIOC,GPIO_Pin_13);
	// GPIO_ResetBits(GPIOC,GPIO_Pin_13);
	while(1){
	
	}
	return 0;
}

启动文件的分类

根据型号用于选择启动文件
stm32软件安装以及创建工程_第37张图片


总结新建工程步骤

stm32软件安装以及创建工程_第38张图片

你可能感兴趣的:(STM32学习记录,stm32,单片机,嵌入式硬件)