STM32H7+CubeMX学习笔记1(CubeMX基本配置) 您所在的位置:网站首页 stm32f765 STM32H7+CubeMX学习笔记1(CubeMX基本配置)

STM32H7+CubeMX学习笔记1(CubeMX基本配置)

2023-04-19 19:51| 来源: 网络整理| 查看: 265

硬件平台:适用于野火STM32H743IIT6的外设配置,软件版本:STM32CubeMX 6.1.1,使用的HAL库版本为:STM32Cube_FW_H7_V1.8.0, keil版本5.29,pack支持包为Keil.STM32H7xx_DFP.2.7.0.pack。

硬件电路图可自行搜索。

话不多说,开整。

整个笔记计划以如下方式展开:

选择目标MCU:

直接输入H743,选择对应的封装:

显示的主界面介绍

1:可用于配置的外设(个人习惯安装字母顺序显示进行外设的设置)

2:时钟树的配置

3:工程相关配置,包括是否copy所有外设的文件到工程,是否为外设生成对应的.c和.h,使用的编译开发环境等

4:一键生成代码

下面以使用FreeRtos的任务为例,生成点灯的程序

step1:设置debug,即为工程指定调试下载程序的接口。我使用的CMSIS-DAP Debugger和ST-Link,经测试均可配置为“Serial wire",MCU的PA13和PA14引脚变为debug的两个功能引脚。

step2:设置RCC,使能外部晶振,并配置时钟树(是能外部高速时钟的晶振即可,我全开了)

将显示的主界面切换到“Clock Configuration":

自动配置完成后的如下:

step3:根据硬件电路图,设置LED所在引脚为输出:

设置为输出后,还可以将该引脚右键定义宏值(后期换芯片或者跟换引脚时,方便代码修改),右键,设置lable

如果是需要IO高速翻转的场合,可以在外设栏选择GPIO,将速度设置为“Very High"

step4:开启FreeRtos(开启实时系统,会默认创建一个任务栈为128word大小的任务,此处使用默认的这个)

上图标注的这些红框内的值,均可更改。

step5:完成上述步骤,基本的外设配置就结束了,接下来需要进行生成工程的一些配置

此时点击生成代码,我们会得到如下提示:

我们选用定时器1作为实时系统的源即可:

点击生成,使用keil打开工程,在main.h 的/* USER CODE BEGIN Private defines */和/* USER CODE END Private defines */中间写如LED闪烁的代码:

/* Private defines -----------------------------------------------------------*/ #define LED_R_Pin GPIO_PIN_10 #define LED_R_GPIO_Port GPIOH /* USER CODE BEGIN Private defines */ #define LED_R_Toggle HAL_GPIO_TogglePin(LED_R_GPIO_Port,LED_R_Pin) /* USER CODE END Private defines */

在任务StartDefaultTask中添加闪烁代码:

编译前可以将工程配置选项 “Browse Information"√去掉,以增快编译速度(去掉√,意味着当对变量进行右键,查找定义和引用的地方的功能将失效),同时需要将”C/C++"的优化选项设置为 "level-0",keil的优化很难用,1.是debug时不方便打断点;2.感觉出问题

调试选项默认是官方的“ST-link",选择你是用的调试器。即可

step6:编译下载验证。即可看到LED"亮-灭-亮-灭",完成。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有