使用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的渐亮渐灭效果。
热门推荐
婺源二日游最佳路线:自由行vs跟团游,怎么玩最划算?
秋季4款碱性食谱:从红烧茄子到板栗烧鸡
6天3000元,玩转呼伦贝尔:草原湿地、边境风情与特色体验
穿越呼伦贝尔:6天自驾1000公里,邂逅亚洲最大湿地与边境风光
双鱼座女生恋爱中的小心思,你get到了吗?
双鱼座女生的爱情观:从浪漫到现实的转变
“3分调7分养”:三种野草茶调理肺结节效果好
远离烟草、多吃“白色食物”:专家推荐5大肺结节预防法
高血压伴低血钾需警惕,一文详解原醛症筛查与治疗
车载充电机:电动车的秘密武器
菠菜豆腐皮蛋汤:富含铁钙VC的家常养生汤
红河到西双版纳怎么坐车方便快捷?需耗时几小时
北海摄影指南:涠洲灯塔等三大景点拍摄攻略
1876年开埠后,八国建筑群见证北海百年沧桑
八髎穴:调理妇科病的腰骶部养生要穴
八髎穴:腰骶部重要穴位,调理气血与妇科疾病效果佳
按摩八髎穴,职场人轻松应对压力与疲劳
CNN盘点32种必吃中国菜 看看都有哪些?
培养孩子信任感,这五种教育方式最有效
当信任遭遇背叛:如何重建友情的桥梁
信任崩塌后如何重建?心理学研究给出5个实用方案
赵丽颖星光大赏双料造型:高定礼服与简约风的完美演绎
掌握这7个沟通技巧,让你在职场中如鱼得水
西梅干:低糖也能养生?
从倾听到赞美:如何提升自己的情绪价值
掌控情绪的关键:提升情绪调节自我效能感的5个实用方法
人工智能博士引领经济发展新浪潮
哈佛大学博士教育改革:从学术导向到应用导向的转变
澳新美港学中医:院校课程与就业前景指南
少儿编程热:不只是学代码,更是培养信息素养