找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 505|回复: 2
打印 上一主题 下一主题
收起左侧

PWM控制LED灯闪烁导致程序卡死

[复制链接]
跳转到指定楼层
楼主
ID:1153599 发表于 2025-11-5 19:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近使用普冉得002B芯片,实现ADC采集电压值,根据电压值实现不同LED灯效果,在
                if(TIM_Count._1_s > TIM_1MIN)
                {
                        TIM_Count._1_s = 0;
                        adc_value = AdcGetValOneTime();
//                        LOGI("VDD:%d",adc_value);

                }
               
                if(adc_value > High_bat)
                {
                        HAL_TIM_PWM_Stop(&Tim1Handle, TIM_CHANNEL_2);                        //红灯
                        HAL_TIM_PWM_Start(&Tim1Handle, TIM_CHANNEL_1);                        //绿灯

                }
                else if(adc_value > low_bat)
                {
                        HAL_TIM_PWM_Stop(&Tim1Handle, TIM_CHANNEL_1);
                        if(TIM_Count._500_ms < TIM_1S)
                        {
                                HAL_TIM_PWM_Start(&Tim1Handle, TIM_CHANNEL_2);
                        }else if(TIM_Count._500_ms <TIM_1MIN)
                        {
                                HAL_TIM_PWM_Stop(&Tim1Handle, TIM_CHANNEL_2);
                        }else if(TIM_Count._500_ms > TIM_1MIN)
                        {
                                TIM_Count._500_ms = 0;
                        }
                }       
                else if(adc_value < 3300)
                {
                        shutdown();
                }
在进入adc_value > low_bat判断里面后,红灯会亮如何灭掉,当红灯灭掉后程序就卡死了,后续发现注释掉HAL_TIM_PWM_Stop(&Tim1Handle, TIM_CHANNEL_2);后正常,请问是什么原因导致得,百思不得其解
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:1161147 发表于 2025-11-5 19:56 | 只看该作者
可以debug看看HAL_TIM_PWM_Stop(&Tim1Handle, TIM_CHANNEL_2);执行过后的调用栈,是不是发生了HardFault
回复

使用道具 举报

板凳
ID:1089588 发表于 2025-11-7 10:05 | 只看该作者
HAL_TIM_PWM_Stop(&Tim1Handle, TIM_CHANNEL_2);里面可能有问题,可以调试一下看看哪里卡住了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表