最近使用普冉得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);后正常,请问是什么原因导致得,百思不得其解  |