int_3062p.c

来自「M16C interrupt settings and Initial code」· C语言 代码 · 共 483 行 · 第 1/2 页

C
483
字号
}

/**************************************************************************/
/*       Interrupt routine                                                */
/*       for Key input interrupt                                          */
/**************************************************************************/
__interrupt void  key_input_interrupt (void)
{     
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*       Interrupt routine                                                */
/*       for AD channel interrupt                                         */
/**************************************************************************/
__interrupt void  ad_interrupt (void)
{     
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*       Interrupt routine                                                */
/*       for UART2 transmit interrupt                                     */
/**************************************************************************/
__interrupt void  uart2tx_interrupt (void)
{  
  /* Add code here */
  //led2=0;  
    software_reset ();
}



/**************************************************************************/
/*       Interrupt routine                                                */
/*       for UART2 receive interrupt                                      */
/**************************************************************************/
__interrupt void  uart2rx_interrupt (void)
{ 
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for UART0 transmit interrupt                                    */
/**************************************************************************/
__interrupt void  uart0tx_interrupt (void)
{    
  /* Add code here */
   while(txept_u0c0 == 0); //for safe not required
    

}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for UART0 receive interrupt                                     */
/**************************************************************************/
__interrupt void  uart0rx_interrupt (void)
{ 
   software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for UART1 transmit interrupt                                    */
/**************************************************************************/
__interrupt void  uart1tx_interrupt (void)
{  
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for UART1 receive interrupt                                     */
/**************************************************************************/
__interrupt void  uart1rx_interrupt (void)
{ 
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for Timer A0  interrupt                                         */
/**************************************************************************/
__interrupt void  timer_a0_interrupt (void)
{
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for Timer A1  interrupt                                         */
/**************************************************************************/
__interrupt void  timer_a1_interrupt (void)
{
   /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for Timer A2  interrupt                                         */
/**************************************************************************/
__interrupt void  timer_a2_interrupt (void)
{
    software_reset ();
		
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for Timer A3 interrupt                                          */
/**************************************************************************/
__interrupt void  timer_a3_interrupt (void)
{
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for Timer A4 interrupt                                          */
/**************************************************************************/
__interrupt void  timer_a4_interrupt (void)
{
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for TimerB0 interrupt                                           */
/**************************************************************************/
__interrupt void  timer_b0_interrupt (void)
{
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for TimerB1 interrupt                                           */
/**************************************************************************/
__interrupt void  timer_b1_interrupt (void)
{  
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*        Interrupt routine                                               */
/*        for TimerB2 interrupt                                           */
/**************************************************************************/
__interrupt void  timer_b2_interrupt (void)
{ 
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*       Interrupt routine                                                */
/*       for INT0 interrupt                                               */
/**************************************************************************/
__interrupt void  int0_interrupt (void)
{ 
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*       Interrupt routine                                                */
/*       for INT1 interrupt                                               */
/**************************************************************************/
__interrupt void  int1_interrupt (void)
{ 
  /* Add code here */
    software_reset ();
}
 
/**************************************************************************/
/*       Interrupt routine                                                */
/*       for INT2 interrupt                                               */
/**************************************************************************/
__interrupt void  int2_interrupt (void)
{ 
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*       Interrupt routine                                                */
/*       for SOFT32 interrupt                                             */
/**************************************************************************/
__interrupt void  soft32_interrupt (void)
{ 
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*       Interrupt routine                                                */
/*       for SOFT63 interrupt                                             */
/**************************************************************************/
__interrupt void  soft63_interrupt (void)
{ 
  /* Add code here */
    software_reset ();
}

/**************************************************************************/
/*       Software reset                                                   */
/**************************************************************************/
void  software_reset (void)
{   
    // Write enable
    prcr |= 0x02;           // ---- --1-
                            //        +-- Enable write to processor mode     
                            //            registers 0 and 1    
                            //            0: Write inhibited
                            //            1: Write enabled

    // Setting Processor mode register 0
    pm0 |= 0x08;            // ---- 1---
                            // |||| +---- Software reset bit
                            // ||||       The device is reset when this
                            // ||||       bit is set to '1'
}

/*********************************** E O F ********************************/






⌨️ 快捷键说明

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