认识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 测量的是周期。
然后我们根据要求选择芯片,生成初始工程
打开STM32CubeMX软件,在首页面点击ACCESSTO MCU SELECTOR
2.在搜索框中输入STM32G431RB,在右侧出现的选项中选择最下面一个选项(LQFP64封装)。
在Pinout&Configuration界面下左侧system core选项卡中点击RCC。再High Speed Clock选择Crystal/Ceramic Resonator。
进入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的中断
进入Project Manager页面,设置文件名、文件的保存路径、集成开发环境、最低版本号。
在左侧的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文章来源:https://www.toymoban.com/news/detail-804265.html
配置完成后,可直接使用 Keil 自带的下载与调试功能文章来源地址https://www.toymoban.com/news/detail-804265.html
到了这里,关于STM32CubeMX+Keil5新建工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!