STM32CUBUMX+LED
Posted 平陆成江,
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32CUBUMX+LED相关的知识,希望对你有一定的参考价值。
文章目录
实验准备
STM32CUBEMX 版本 6.0.1Keil 版本 5.31
STM32F103C8T6 核心板
STLink+杜邦线
将STLink与核心板及电脑连接并保证连接正确,通信成功
一、LED及GPIO基础知识
所用开发板LED接线如图
LED及发光二极管,图中LED正极接3.3V电压,只要PC13输出低电平,二极管即导通发光。
二、STM32CUBEMX配置
1.新建工程
选择单片机型号:
2.配置时钟
ByPASS Clock Source:旁路时钟源
Crystal/Ceramic Resonator:晶体/陶瓷振荡器
选择前者:系统时钟由外部提供
选择后者:系统时钟由外部晶振和芯片内部电路协作提供
3.配置调试接口及时基
SW调试+SysTick提供时基(开操作系统时不能选用SysTick)
4.配置引脚
配置引脚为输出模式,默认上拉即输出高电平,LED熄灭。
给该引脚添加标签,增强代码可读性
5.生成工程
这样可以使生成的工程干练有条理,生成并打开工程
三、Keil编写代码
#define LED_Pin GPIO_PIN_13
#define LED_GPIO_Port GPIOC
可以看到生成的代码中对该引脚进行了重定义
1.配置keil
使用高版本可以提高编译速度
选择调试器:
2.编写代码并烧录
在main函数的循环内添加代码并编译
HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);//PC13输出低电平
编译并烧录:
可以观察到LED点亮(没有亮可以尝试按RESET键)
3.LED闪动
将主循环内代码改为:
HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET); //PC13输出低电平
HAL_Delay(1000); //延时函数(1000ms)
HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET); //PC13输出高电平
HAL_Delay(1000);
或
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin); //PC13电平翻转
HAL_Delay(1000);
可以观察到LED每隔1s闪动一次
工程下载地址
链接:https://pan.baidu.com/s/1leqBhoJoMFCdyIE2P9qn9g
提取码:i4nj
以上是关于STM32CUBUMX+LED的主要内容,如果未能解决你的问题,请参考以下文章