使用ST公司的STM32芯片进行项目开发,STM32CubeMX是不得不用到的一个图形化配置工具。STM32CubeMX是基于HAL库的外设图形化构建工具,它可以完成绝大部分芯片外设资源配置工作,比如
时钟树配置
设定端口名称
指定端口工作模式
硬件IIC、SPI总线配置
ADC、DAC、串口UART等片上外设参数配置
这不仅能够提高开发者在外设初始化过程中的工作效率,而且也方便项目移植。
一、STM32CubeMX安装
在ST官网下载STM32CubeMX,按步骤正常安装。打开MX软件
进入MCU选择器,输入芯片型号STM32H503RBT6,双击搜索结果列表中STM32H503RBT6进入下一步工程配置。
在新建工程中,所有引脚均没有被配置。对于一个基本的CubeMX工程来说,需要保证初始化的内容有调试器引脚、时钟树。如果调试器引脚没有初始化,就无法通过板载ST LINK调试器进行程序烧录。
选中时钟源为外部高速时钟,HCLK输入250回车,完成时钟树配置
输入CubeMX工程名称,这里我使用的IDE工具为Keil,因此选择生成V5版本的MDK-ARM工程。
回到第一页引脚定义处,进行板载LED、串口UART外设配置
在原理图可以看到,LED2连接在PA5引脚,USART3连接着ST LINK V3串口。
原理图
使能PA5引脚
在gpio界面,鼠标选中PA5引脚并右击弹出引脚工作模式选择,选GPIO OUTPUT。
使能USART3
选中GENERATE CODE
如果安装好Keil,点击Open Project
在用户代码区添加如下代码,用于将printf打印重定向到USART3
int fputc(int ch, FILE *f) { HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0xffff); return ch; }
提示报错,缺少stdio.h头文件
在用户包含头文件代码区添加如下内容
#include "stdio.h"
在mian函数主循环处添加如下代码,完成LED间隔点亮与串口打印内容。
HAL_Delay(1000); HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); printf("Hello EEPW & DigiKey! Hello STM32H503!\n");
勾选使用微库、勾选程序烧录完成复位
将开发板连接电脑,编译通过后点击LOAD烧录程序
运行结果