使用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的渐亮渐灭效果。
热门推荐
隆裕太后:权力与婚姻双重压迫下的悲剧人生
《哪吒2》票房即将突破100亿元,观众大排长龙只为凑个整,网友:一生要强的中国人
秋冬润肺止咳良药:贝母的多重价值与应用
白贝母种植技术全攻略:从选地到采收的科学指南
家庭聚会上必学:红烧排骨的N种做法!
红烧排骨制作攻略:从选材到出锅的详细步骤与技巧
红烧排骨:一道承载家的味道的传统美食
红烧排骨新吃法:健康又美味!
武当山三月三庙会:真武大帝诞辰日的盛大庆典
武当山的真武大帝传说:从星辰崇拜到文化传承
泉州真武庙:千年古刹见证海上丝绸之路辉煌
6.35亿年前,地球曾“一瞬间”融化
《刺客信条:幻景》:一场关于自由与秩序的哲学之旅
《刺客信条:奥德赛》中的古希腊哲学探秘
《刺客信条:瓦尔哈拉》带你穿越维京时代的历史迷雾
从抑郁到心理健康倡导者:Selena Gomez的蜕变之路
文言文翻译的十大方法及训练
《哪吒2》中“急急如律令”怎么译?DeepSeek这样答
火影忍者中佐助在大蛇丸那学到的6个术:咒印是订金,替身术保命绝招
中国古代传说中的三大妖人:是哪些人?
DJI大疆教你无人机新手飞行技巧
罗迪尼亚超大陆分裂:7亿年前地球变成“大雪球”的真相
雪球地球时期的极端气候变化真相揭秘!
火山喷发揭秘“雪球地球”融化之谜
单片机让家里的空气更清新啦!
技术顾问一般都做些什么
碎片化睡眠危害知多少?这些改善方法请收好
老年人如何应对碎片化睡眠?这些方法很实用
聚氨酯鞋底和eva鞋底哪个更好
从李嘉诚到马云:两位商业传奇的世纪对话