智能车制作

标题: 用TC7口做的频率和占空比检测,谁能帮我看看? [打印本页]

作者: 太虚散人    时间: 2012-5-15 15:17
标题: 用TC7口做的频率和占空比检测,谁能帮我看看?
__interrupt void TXTimer_Interrupt(void)   //PIT中断10ms
{
  int i;
  static int ledTime = 0;
  
  PITTF = 1;  
  
   
  if (ledTime++ > 10)
  {                              
    ledTime = 0;
    write_595(vLED);      //数码管显示(100ms刷新一次)
      TIE=0xC0;           //开捕捉中断(100ms中断一次)  
  }
  
voltage_feedback();      //模拟量输出(10ms输出一次)
                          
}

__interrupt void HL_TC7Interrupt(void)
{
  static byte i=0;
  i++;
  if(i==1){
   first=TC7;
   TCTL3_EDG7B=1;
   TCTL3_EDG7A=0;   //仅捕捉下降沿
  }
  
  else if(i==2){
   second=TC7;
   TCTL3_EDG7B=0;
   TCTL3_EDG7A=1;   //仅捕捉上升沿  
  }
  
  else if(i==3)
  {
   i=0;
   third=TC7;
   TCTL3_EDG7B=0;
   TCTL3_EDG7A=1;   //仅捕捉上升沿   
      
  temp1=third-first;
  temp2=second-first;
  fre=250000/temp1;         //范围:3.81~250000hz
  dty=temp2/temp1;
  TIE=0x00;             //关捕捉中断
  }
}  

作者: 太虚散人    时间: 2012-5-15 16:29
为什么一进中断就程序就死啊?
作者: 太虚散人    时间: 2012-5-15 22:10
我的意思是在PIT中断里面每100ms开一次输入捕捉,连续3次测量后算出频率和占空比,再关掉中断,就是不知到底什么问题?




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2