⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsp28_defaultisr.c

📁 单个表头的显示 运用了MAX7219驱动芯片
💻 C
📖 第 1 页 / 共 3 页
字号:
}

//---------------------------------------------------------------------------
// EV-A Default ISRs: 
// 保护
interrupt void PDPINTA_ISR( void )    // EV-A
{
	PieCtrl.PIEACK.bit.ACK1 = 1;
	EvaRegs.EVAIFRA.bit.PDPINTA = 1;
	EvaRegs.GPTCONA.bit.TCOMPOE = 1;
	EvaRegs.COMCONA.bit.FCOMPOE = 1;
}

interrupt void CMP1INT_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP2;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}

interrupt void CMP2INT_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP2;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);
   
  // Uncomment this line after adding ISR Code 
  // return;

}

interrupt void CMP3INT_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP2;
  
  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}
// INT2.4
interrupt void T1PINT_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To receive more interrupts from this PIE group, acknowledge this interrupt 
  PieCtrl.PIEACK.all = PIEACK_GROUP2;    //响应同组中断
  
     
  EvaRegs.EVAIFRA.bit.T1PINT = 1;        //清楚中断标志位
}


// INT2.5
interrupt void T1CINT_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To receive more interrupts from this PIE group, acknowledge this interrupt 
  PieCtrl.PIEACK.all = PIEACK_GROUP2; //响应同组中断
  /*   if(ff == 3) {                  //如果ff=3表示已经接收到一组新的参数值,开始进行赋值处理
     var1 = Dp;
	 var2 = Fp;

	 var3 = Dn;
	 var4 = Fn;

	 ff = 0;
	 }
   	spi_xmit(var1);					
    while(SpiaRegs.SPISTS.bit.INT_FLAG==0) { }	
    Test_flag1 = SpiaRegs.SPIRXBUF;
    spi_xmit(var2);					
    while(SpiaRegs.SPISTS.bit.INT_FLAG==0) { }	
    Test_flag2 = SpiaRegs.SPIRXBUF;
   	spi_xmit(var3);					
    while(SpiaRegs.SPISTS.bit.INT_FLAG==0) { }	
    Test_flag3 = SpiaRegs.SPIRXBUF;
	spi_xmit(var4);					
    while(SpiaRegs.SPISTS.bit.INT_FLAG==0) { }	
    Test_flag4 = SpiaRegs.SPIRXBUF;*/


    EvaRegs.EVAIFRA.bit.T1CINT = 1;       //清楚中断标志位
}



interrupt void T1UFINT_ISR(void)   // EV-A
{
	PieCtrl.PIEACK.bit.ACK2 = 1;
	EvaRegs.EVAIFRA.bit.T1UFINT = 1;
	EvaRegs.CMPR1 = 0x0001;
	EvaRegs.CMPR2 = 0x1D4B - (phase_shifting>>15);
}

interrupt void T1OFINT_ISR(void)   // EV-A
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP2;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}
      
// INT 3.1         
interrupt void T2PINT_ISR(void)     // EV-A
{
  // Insert ISR Code here

  // To receive more interrupts from this PIE group, acknowledge this interrupt 
   PieCtrl.PIEACK.all = PIEACK_GROUP3;  //响应同组中断
   
   EvaRegs.EVAIFRB.bit.T2PINT = 1;      //清楚中断标志位
}

// INT3.2
interrupt void T2CINT_ISR(void)     // EV-A
{
  // Insert ISR Code here

  // To receive more interrupts from this PIE group, acknowledge this interrupt 
  PieCtrl.PIEACK.all = PIEACK_GROUP3;  //响应同组中断

  // Next two lines for debug only to halt the processor here
  // Remove after inserting ISR Code
    Tmp++;

if((sNp == 1) || (sNn == 1)) {          //当满足正负向脉冲出现0的情况时,转到周期中断中去处理

}else {                                 //无特殊情况,进行以下处理
  if(Tmp == (sNn - 1)) {                //在倒数第二个负脉冲时,对周期寄存器的值进行处理
     if(sTn == 0) {
	 EvaRegs.T2PR = f[sFn - 100];        //换向时间为0时,表示正常输出,故读表即可
	 }else {
     EvaRegs.T2PR = EvaRegs.T2CMPR + sTn;   //否者,把下个周期的无效时间变成为换向期的值
	 }

     EvaRegs.T1PR = f[sFp - 100];            //正向脉冲的周期寄存器和比较寄存器的值保持不变
	 EvaRegs.T1CMPR = sDp;
	 EvaRegs.T1CNT = 0;
  }
  }
  if(Tmp == sNn) {                          //当负向脉冲个数计数到最后一个时,进行以下处理
  if((sNp == 1) || (sNn == 1)) {            //当正负脉冲有1的情况时,转到周期中断中进行处理
     if(sTn == 0) {                         
	 EvaRegs.T2PR = f[sFn - 100];
	 }else {
     EvaRegs.T2PR = f[sFn - 100] + sTn;
	 }
	 EvaRegs.T2CMPR = sDn;
  }else{
     EvaRegs.GPTCONA.bit.T2PIN = 3;          //无以上情况时,把负向脉冲封锁,并更新周期寄存器和比较器中的值
	 EvaRegs.T2PR = f[sFn - 100];
	 EvaRegs.T2CMPR = sDn;
  }	 	 	 
  }
  EvaRegs.EVAIFRB.bit.T2CINT = 1;         //清楚中断标志位
}


interrupt void T2UFINT_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP3;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}

interrupt void T2OFINT_ISR(void)    // EV-A
{
  // Insert ISR Code here
  
  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP3;  

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}

interrupt void CAPINT1_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP3;  

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}

interrupt void CAPINT2_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP3;

  // Next two lines for debug only - remove after inserting ISR
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}

interrupt void CAPINT3_ISR(void)    // EV-A
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP3;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}
      
//---------------------------------------------------------------------------
// EV-B Default ISRs: 
//
interrupt void  PDPINTB_ISR(void)   // EV-B
{
	PieCtrl.PIEACK.bit.ACK1 = 1;
	EvbRegs.EVBIFRA.bit.PDPINTB = 1;
	EvbRegs.GPTCONB.bit.TCOMPOE = 1;
	EvbRegs.COMCONB.bit.FCOMPOE = 1;
}

interrupt void CMP4INT_ISR(void)    // EV-B
{
  // Insert ISR Code here
  
  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP4;  

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}

interrupt void CMP5INT_ISR(void)    // EV-B
{
  // Insert ISR Code here
  
  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP4;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}

interrupt void CMP6INT_ISR(void)    // EV-B
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP4;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}

interrupt void T3PINT_ISR(void)     // EV-B
{
	PieCtrl.PIEACK.bit.ACK4 = 1;
    Cmp2 = 1;
	EvbRegs.EVBIFRA.bit.T3PINT = 1;

	
}

interrupt void T3CINT_ISR(void)     // EV-B
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  PieCtrl.PIEACK.all = PIEACK_GROUP4;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   if(Cmp2 == 1) {
      EvbRegs.T4PR = 0x6000;
      EvbRegs.T4CMPR = 0x1000;
	  EvbRegs.T4CNT = 0;
	  Cmp2 = 0;
	  Under = 1;
   }
   

  // Uncomment this line after adding ISR Code 
  // return;
  EvbRegs.EVBIFRA.bit.T3CINT = 1;
}

interrupt void T3UFINT_ISR(void)    // EV-B
{
	PieCtrl.PIEACK.bit.ACK4 = 1;
	   if(Under == 1) {
	      Under = 0;
          EvbRegs.GPTCONB.bit.T3PIN = 0;
		  EvbRegs.GPTCONB.bit.T4PIN = 2;

		  EvbRegs.T3CON.bit.TECMPR = 0;
          EvbRegs.T4CON.bit.TECMPR = 1;
	      EvbRegs.T4CNT = 0;
	   }
	EvbRegs.EVBIFRA.bit.T3UFINT = 1;
}

interrupt void T3OFINT_ISR(void)    // EV-B
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  // PieCtrl.PIEACK.all = PIEACK_GROUP4;

  // Next two lines for debug only - remove after inserting
  // ISR Code
   asm ("      ESTOP0");
   for(;;);

  // Uncomment this line after adding ISR Code 
  // return;
}
     
interrupt void T4PINT_ISR(void)    // EV-B
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  PieCtrl.PIEACK.all = PIEACK_GROUP5;

  // Next two lines for debug only - remove after inserting
  // ISR Code
  Cmp2 = 1;
   
  // Uncomment this line after adding ISR Code 
  // return;
  EvbRegs.EVBIFRB.bit.T4PINT = 1;
}

interrupt void T4CINT_ISR(void)    // EV-B
{
  // Insert ISR Code here

  // To recieve more interrupts from this PIE group, acknowledge this interrupt 
  PieCtrl.PIEACK.all = PIEACK_GROUP5;
 
  // Next two lines for debug only - remove after inserting
  // ISR Code
  if(Cmp2 == 1) {
     EvbRegs.T3PR = 0x7000;
	 EvbRegs.T3CMPR = 0x2000;
     EvbRegs.T3CNT = 0;
	 Cmp2 = 0;
	 Under = 1;
  }
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -