使用STM32CubeMX和Keil5创建新工程

认识STM32CubeMX

STM32CubeMx 软件是 ST 公司为 STM32 系列单片机快速建立工程,并快速初始化使用到的外设、GPIO 等,大大缩短了我们的开发时间。简单地说STM32CubeMX 本身就是一个工具软件,我们只要在上面通过图形化配置就可以生成STM32 功能代码工程,这样节省我们的工作量。在之前没有用这个开发工具的时候一些对于GPIO,定时器等要进初始化行配置,用cubemx就是节约时间

一个例子来演示一下CubeMX的使用流程

用一个例子来带大家熟悉一下使用流程,这里用的是蓝桥杯嵌入式开发板芯片stm32G431RBT6

就是配置LED灯及TIM定时器捕获驱动设计

首先我们要看原理图去配置引脚

通过配置I/O口的高低电平点亮对应的LED灯

被测量的信号从定时器的外部引脚 TIMx_CH1、2 进入,2个捕获通道。输入捕获可以对输入的信号的上升沿,下降沿或者双边沿进行捕获,常用在测量输入信号的脉宽和和周期,比如测量 PWM 信号的周期(或频率)和占空比。PWM 信号由输入通道 TI1 进入,配置 TI1FP1 为触发信号,上升沿捕获。输入信号TI1映射到通道2(IC2)为从模式,当上升沿的时候 IC1 和 IC2 同时捕获,计数器 CNT 清零,到了下降沿的时候,IC2捕获,此时计数器 CNT 的值被锁存到捕获寄存器 CCR2 中,到了下一个上升沿的时候,IC1 捕获,计数器 CNT 的值被锁存到捕获寄存器 CCR1 中。其中 CCR2 测量的是脉宽,CCR1 测量的是周期。

然后我们根据要求选择芯片,生成初始工程

  1. 打开STM32CubeMX软件,在首页面点击ACCESSTO MCU SELECTOR

2.在搜索框中输入STM32G431RB,在右侧出现的选项中选择最下面一个选项(LQFP64封装)。

  1. 在Pinout&Configuration界面下左侧system core选项卡中点击RCC。再High Speed Clock选择Crystal/Ceramic Resonator。

  1. 进入Clock Configuration页面开始配置时钟,配置参数如下图。

5.进入Pinout&Configuration界面,完成LED1(PC8)、LED2(PC9)、LED3(PC10) ……8个LED灯底层配置。操作步骤为:

(1)LED1对应的是PC8引脚。

(2)在右侧芯片图形中找到PC8 、PC9 、PC10……引脚。

(3)鼠标左键点击选择GPIO_Output。

(4)其他LED灯的配置同理。

(5) LED通过一个74HC573锁存器进行控制(使能引脚PD2,高电平使能)。

(6)初始化配置LED引脚为高电平。

下图配置LED管脚:

下图配置TIM2的管脚以及打开TIM2的中断

下图配置TIM3的管脚以及打开TIM3的中断

  1. 进入Project Manager页面,设置文件名、文件的保存路径、集成开发环境、最低版本号。

  1. 在左侧的Code Generator选项卡中进行如下配置,完成后点击GENERATE CODE。

到这里已将完成了用cubemx配置了需要的引脚和定时器还有时钟等一些基本配置

Keil的使用

在这里就是说一下keil的基本使用,对于生成的工程代中main函数代码的增加就略过,因为涉及一些HAL库的使用,这篇文章主要是带大家熟悉使用流程

在我们生成的工程里面,在新创建的文件中添加一个application文件当然这个文件名大家可以随意取,主要是放项目里面用到的一些.c和.h文件,这里我把用到的.c和.h文件放到了这里面

打开工程

在项目里面添加一个group

把.c文件添加进来

设置包含路径

然后在主函数里面进行按我们的需求改写,这里就不详细说了,主要是带大家熟悉流程

最后就是编译和烧录

在 KeiluVision 集成开发环境下,选择 CMSIS-DAP Debugger 调试器,不同的开发板的调试器配置不一样,这里以stm32G431rbt6为例子,其他的一般产品手册里面就会有,主要是叫大家熟悉流程,有的需要装一些串口驱动之类的,开发板不一样调试器不一样

在Setting下,选择SW模式

在Flash 选项卡下,勾选Reset and Run

配置完成后,可直接使用 Keil 自带的下载与调试功能

物联沃分享整理
物联沃-IOTWORD物联网 » 使用STM32CubeMX和Keil5创建新工程

发表评论