使用STM32和HAL库实现呼吸灯效果
创作时间:
作者:
@小白创作中心
使用STM32和HAL库实现呼吸灯效果
引用
1
来源
1.
https://www.cnblogs.com/hack747/p/18508491
本文将介绍如何使用STM32F103C8微控制器和HAL库实现呼吸灯效果。通过配置通用定时器生成PWM信号,可以控制LED的亮度变化,实现渐亮渐灭的效果。
硬件环境
- 开发板:STM32F103C8
- 仿真软件:Proteus 8
- 开发平台:STM32CubeMX + Keil
1. 新建STM32CubeMX工程
1.1 配置系统时钟RCC
1.2 配置定时器
这里使用PB3和PA15一对引脚。在TIM2定时器中,选择内部时钟作为时钟源,并配置通道1和通道2为PWM输出模式。
2. 代码实现
2.1 定义变量
uint16_t pulse=0; /*占空比,重装载值设置为999*/
uint8_t flag=1; /*LED标志位,用于判断是渐亮还是渐灭*/
2.2 主函数
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
//启动定时器2通道1的PWM
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);
//启动定时器2通道2的PWM
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2);
uint16_t pulse=0; /*占空比,重装载值设置为999*/
uint8_t flag=1; /*LED标志位,用于判断是渐亮还是渐灭*/
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if (flag==1) /*执行LED渐亮*/
{
if (pulse<1000)
{
pulse+=50; /*占空比增大*/
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,pulse); /*修改占空比*/
HAL_Delay(100);
}
else
flag=0; /*切换为渐灭模式*/
}
else /*执行LED渐灭*/
{
pulse-=50; /*占空比减小*/
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,pulse); /*修改占空比*/
HAL_Delay(100);
if (pulse==0)
{
flag=1; /*切换为渐亮模式*/
}
}
}
}
通过上述配置和代码实现,可以成功实现LED的呼吸灯效果。这个项目展示了如何使用STM32的通用定时器生成PWM信号,并通过软件控制实现LED的渐亮渐灭效果。
热门推荐
马来西亚的度假天堂,仙本那跳岛游,看这篇就够了
小托福考试需要带什么东西?
机房建设及运维方案重构:迎接信息技术新时代的挑战
肚子一直咕噜咕噜叫怎么解决
首名平民太空人桂海潮返地后首场报告
从神经科学到教育实践:馆园合作教育模式探析
空心草莓是打了膨大剂?吃了对身体有害?真相是→
脊柱侧弯测量方法全解析:从简单判断到专业评估
四川南部县一高三学生自缢死亡,事件分析与反思
那卡普洱:探索云南的珍稀茶宝
金条逾期怎么应对金融风险
仙侠剧20年:从爱与义的乌托邦到独立精神的表达
空洞骑士地图探索顺序介绍
Wi-Fi无法正常工作?解决计算机或笔记本电脑的Wi-Fi连接问题
带你了解脑出血及康复
高压锅使用全攻略:从历史到安全,一文读懂高压锅的正确打开方式
从心碎到完整:揭秘情感修复的五大秘密法则
CBA今晚三场焦点之战,看点颇多
唐朝21位皇帝简史:从李渊到李柷
春节档后,短剧的2025可能并不好过
梦见小狗和自己特别亲近
掌握温度的艺术,深度解析石蜡的熔点与应用
掌握温度的艺术,深度解析石蜡的熔点与应用
左上牙龈疼痛?这些信号可能是你忽视的健康警报!
详细备婚指南:从挑选婚纱到婚礼全流程的全方位筹备
中医考证后的职业规划与发展
牙齿脱矿还能恢复吗
探寻春联里的年味与传统
8个毁掉肾脏的行为,一个不沾,肾脏会感激你
解构听风的蚕:军事自媒体的双刃剑