Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

上升沿中断误触发

$
0
0

芯片:MSP430FR6972

IDE:IAR6.30

问题描述:

将电路中的电容全部放完电后,插上电源(电池供电),程序出现误动,误动原因是P4.4中断上升沿误触发了,导致逻辑判断出问题了。通过示波器测并没有捕获到这个上升沿(可能方法有问题),而且如果我再插拔电池(相当于电容没放掉电)又没有出现这个问题。

相关代码:

#pragma vector=PORT4_VECTOR
__interrupt void Port_4(void)
{
   switch(P4IV)
 {
#if BAT_VOLTAGE_MONITOR
   case P4IV_P4IFG2:
  Task_Handle_Status.Task_Count++;
  Task_Handle_Status.Bat_Monitor_Task = 1;
#if LOW_POWER
  LPM3_EXIT;      //IRQ0中断 退出低功耗读取数据
#endif    
    break;
#endif
   case P4IV_P4IFG4:
  if(Indicator_Status.WorkStatus == LowPower)
  {
   if(P4IN & BIT4)
   {
#if TEST_CODE
    P7OUT &= ~BIT3//触发指示灯
#endif
     Start_ADC();
    CT_DET_Down();      //设为下降沿触发
    TimerB0_Init();      //开启采样定时器
    Indicator_Status.WorkStatus=Test; //上电检测态
    Indicator_Status.WorkStatus_Detect=Up_Detect_Flag;
   }
  }
  else
  {
   CT_DET_Up();      //设为上升沿触发
   Indicator_Status.WorkStatus_Detect=Down_Detect_Flag;
  }
    break;
   default :
    break;
 }
 P4IV = 0;
}

相关硬件:前面一个470uf电容,后面一个3300uf电容。这两个放完电,接电池出现误动情况。


Viewing all articles
Browse latest Browse all 3634

Trending Articles