STM32CubeMX 下载和安装 详细教程
【HAL库】STM32CubeMX开发----STM32F407----目录
【HAL库】STM32F407----LED灯实验程序源码----点击下载
本次实验以 STM32F407VET6 芯片为MCU,使用 25MHz 外部时钟源。
LED灯 与 MCU引脚 对应关系如下:
LED灯 | MCU引脚 |
---|---|
LED1 | PE3 |
LED2 | PE4 |
LED3 | PE5 |
具体 STM32CubeMX 界面如下:
我们本次实验选择 STM32F407VET6 芯片做 MCU。
进入工程编辑,具体界面如下:
这一步必须选择一种烧写方式,否则烧写一次程序后,芯片中就没法再次烧写程序了。需要硬件重启才可以重新烧写程序。
STM32烧写程序连接方式详解
设置外部晶振为芯片系统时钟源。
设置 PE3 为 输出引脚
三个LED灯引脚配置结果 如下:
设置 LED灯 引脚的 GPIO模式,设置界面如下:
设置结果如下:
STM32F407 时钟最大频率为 168M,我的开发板是 25M 外部时钟源,具体时钟配置如下:
新建的工程,已经生成,接下来就是对工程代码的编辑。
想要使用keil5打开工程,需要电脑先安装 keil5编译环境,具体操作流程。
可以点击下方文章链接:Keil5编译环境搭建流程----STM32和GD32
用户代码 要写在 USER xxxx BEGIN xxx 和 USER xxxx END xxx 之间。
这样下次使用 STM32CubeMX 重新生成代码后,自己写的代码不会被删除。
/**
*@功能:GPIO引脚输出配置
*@参数1:指定GPIO外设---GPIOA、GPIOB、GPIOC...
*@参数2:指定GPIO外设的引脚端口号---GPIO_PIN_0、GPIO_PIN_1。。。
*@参数3:指定GPIO引脚输出模式---GPIO_PIN_RESET-置低,GPIO_PIN_SET-置高
*@返回值:无
*/
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
举例说明:
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_SET); //PE3置高
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_RESET); //PE3置低
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_RESET); //PE3置低---LED1亮
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_4, GPIO_PIN_SET); //PE4置高---LED2灭
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5, GPIO_PIN_SET); //PE5置高---LED3灭
HAL_Delay(200);//延时200ms
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_SET); //PE3置高---LED1灭
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_4, GPIO_PIN_RESET); //PE4置低---LED2亮
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5, GPIO_PIN_SET); //PE5置高---LED3灭
HAL_Delay(200);//延时200ms
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_SET); //PE3置高---LED1灭
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_4, GPIO_PIN_SET); //PE4置高---LED2灭
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5, GPIO_PIN_RESET); //PE5置低---LED3亮
HAL_Delay(200);//延时200ms
具体烧写操作步骤,可以查看以下文章,有详细的烧写说明。
文章链接:
烧写程序(STM32+GD32):ST-link V2调试下载器实物和连接方式
烧写程序(STM32+GD32):ST-link驱动下载和安装
烧写程序(STM32+GD32):Keil5使用ST-link下载程序
资源链接:ST-link驱动链接----点击下载
LED1、LED2、LED3依次闪烁,实验成功!