使用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的渐亮渐灭效果。
热门推荐
如何辨别自己的普通话发音是否标准?
如何通过六大核心胜任力提升团队整体绩效与员工发展潜力?
打造创新文化:企业的永续发展之道
“量化投资之父”詹姆斯·西蒙斯逝世,享年86岁
乐山大佛景区女厕排队难题如何破解?
清华教授武洲:科学设计破解女厕排队难题
深圳莲花山公园女厕排队,潮汐公厕能解困吗?
东方市江边乡娜姆河路:自然与生态的和谐乐章
打造理想助眠卧室:从布局到灯光的全方位指南
五种心理调节法助你告别失眠困扰
吃香蕉助眠,你get了吗?
世界睡眠日:揭秘失眠背后的心理学
【2024最新版】高考语文必背篇目清单!告别考前慌乱,轻松拿下高分!
脚踩指压板,挑战你的平衡极限!
《跑男》明星同款:脚踩指压板真的健康吗?
冬季瘦身新宠:指压板超慢跑
来内蒙古,什么特产值得带?当地人推荐这10种,都是地理标志产品
寻甸牛干巴:700年传承的云南特色美食
探究李白创作《行路难》的深层背景与历史渊源
行路难原文翻译及写作背景简介
猫咪的心门,怎么开?5个让猫咪信任你的必杀技
猫咪叫声的解读(听懂猫咪的语言,与它更好地相处)
亚里士多德的时间观:哲学家眼中的时间之谜
扫码支付比现金更快!揭秘越南年轻人的支付新时尚
指压板超慢跑:科学运动指南
指压板超慢跑:科学健身还是智商税?
指压板超慢跑:科学使用指南与风险提示
指压板超慢跑:科学放松脚丫的正确姿势
揭秘东北易帜:张学良为何选择归顺南京政府?
张学良与西安事变:一场改变中国命运的“兵谏”