dhw5qq 发表于 2014-5-12 15:25:15

【关于一个充电器的逻辑问题】

我现在用io口去检测一个充电器和负载是否插入,现在客户要求充电器插入后,led显示电量,如果充满后就休眠。如果温度异常的话,led就2HZ闪烁。如果充电器中途拔掉,延迟2min后就关机,现在我就不知道怎么去在

dhw5qq 发表于 2014-5-12 15:25:44

void Charge_detect(void)
{
if(t1_ms50==1)
        {
             t1_ms50=0;                       
              if((CID==0)&&(DID==1))          //充电器接入//反推充电器接入
                        {
                             CHG=0;        DSG=1;                  //打开充电mos,关放电mos                       
                               if((Ad_temp<OVERTEMP)&&(Ad_temp>LOWTEMP))//温度正常
                               {
                                      if(CID==0)                         //再次检测充电器是否接入
                                       {
                                                Soc_Detect();//Soc电量显示                                                         
                                       }
                                     else if(CID==1)// 如果充电器拔掉,就准备进入休眠
                                       {                                       
                                              if((min_2==1))
                                               {
                                                             min_2=0;                                                    
                                                                POWEROFF();
                                               }
                                                                     
                                      }                                                                  
                               
                               }
                               else if(Ad_temp<LOWTEMP||Ad_temp>OVERTEMP)//温度异常
                               {
                                            
                                     if(ms650_time==1)   //温度异常后,灯闪烁2HZ
                            {
                               ms650_time=0;
                                   LED1^=1;
                                   LED2^=1;          //否则灯闪烁表示温度异常 2HZ频率
                                   LED3^=1;
                                   LED4^=1;
                                   LED5^=1;
                           }               
                               }
                                                                                                                                                                        
                        }
                       

dhw5qq 发表于 2014-5-12 15:27:06

上面的是我写的,感觉中途拔掉充电器后,定时器2min后就中断了,跟我拔掉充电器后2min没有搭边?

dhw5qq 发表于 2014-5-12 15:29:57

客户要求的不是2min后休眠,是拔掉充电器后2min休眠?

dhw5qq 发表于 2014-5-12 15:38:57

我想在拔掉充电器后做一个标志位,关闭定时器再开启,再查询标志位。不知道这个方法怎么样!
页: [1]
查看完整版本: 【关于一个充电器的逻辑问题】