STM32H7+CubeMX学习笔记1(CubeMX基本配置) | 您所在的位置:网站首页 › stm32f765 › STM32H7+CubeMX学习笔记1(CubeMX基本配置) |
硬件平台:适用于野火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 实验室设备网 版权所有 |