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

📄 vectors.c

📁 关于与计算机超级终端通讯的小程序.(RS232)
💻 C
字号:
/*------------------------------------------------------------------------
  VECTORS.C
  - Interrupt level (priority) setting
  - Interrupt vector definition

  26.07.99  1.00   HLO    V30L10   original version, no resource assignment
------------------------------------------------------------------------*/
#include "mb90540.h"

/*------------------------------------------------------------------------
   InitIrqLevels()

   This function  pre-sets a ll interrupt control registers. It can be used
   to set all interrupt priorities in static applications. If this file
   contains assignments to dedicated resources, verify  that the
   appropriate controller is used.

   NOTE: value 7 disables the interrupt and value 0 sets highest priority.
   NOTE: Two resource interrupts always share one ICR register.
*/
void InitIrqLevels(void)
{
/*  ICRxx               shared IRQs for ICR */

    ICR00 = 6;      /*  IRQ11    CAN #0 (receive complete)    */
                    /*  IRQ12    CAN #0 (transmission complete
                    			   node status transition) */
    ICR01 = 6;      /*  IRQ13    CAN #1 (receive complete)
							notused for MB90545 series */
                    /*  IRQ14    CAN #1 (transmission complete
                    			   node status transition) */
    ICR02 = 7;      /*  IRQ15    external interrupt INT0/INT1 */
                    /*  IRQ16    timebase timer               */
    ICR03 = 6;      /*  IRQ17    16-bit reload timer #0       */
                    /*  IRQ18    A/D converter                */
    ICR04 = 7;      /*  IRQ19    I/O timer                    */
                    /*  IRQ20    external interrupt INT2/INT3 */
    ICR05 = 7;      /*  IRQ21    serial I/O                   */
                    /*  IRQ22    PPG #0/1                     */
    ICR06 = 7;      /*  IRQ23    input capture CH.0           */
                    /*  IRQ24    external interrupt INT4/INT5 */
    ICR07 = 7;      /*  IRQ25    input capture CH.1           */
                    /*  IRQ26    PPG #2/3                     */
    ICR08 = 7;      /*  IRQ27    external interrupt INT6/INT7 */
                    /*  IRQ28    watch timer                  */
    ICR09 = 7;      /*  IRQ29    PPG #4/5                     */
                    /*  IRQ30    input capture CH.2/3         */
    ICR10 = 7;      /*  IRQ31    PPG #6/7                     */
                    /*  IRQ32    output compare CH.0          */
    ICR11 = 7;      /*  IRQ33    output compare CH.1          */
                    /*  IRQ34    input capture CH.4/5         */
    ICR12 = 7;      /*  IRQ35    output compare CH.2/3 or
								 input capture CH.6/7 */
                    /*  IRQ36    16-bit reload timer #1       */
    ICR13 = 6;      /*  IRQ37    UART #0 (receive complete)   */
                    /*  IRQ38    UART #0 (transmission compl.)*/
    ICR14 = 6;      /*  IRQ39    UART #1 (receive complete)   */
                    /*  IRQ40    UART #1 (transmission compl.)*/
    ICR15 = 7;      /*  IRQ41    IRQ41-handler                */
                    /*  IRQ42    delayed interrupt            */
}
/*------------------------------------------------------------------------
   Prototypes

   Add your own prototypes here. Each vector definition needs is proto-
   type. Either do it here or include a header file containing them.

*/
__interrupt void DefaultIRQHandler (void);
__interrupt void can0_rx (void);
__interrupt void can1_rx (void);
__interrupt void irqsrv_com1 (void);
__interrupt void irqsrv_com2 (void);
__interrupt void ReloadTimer0(void);
__interrupt void irqsvruart0_rx(void);
__interrupt void irqsvruart0_tx(void);
__interrupt void Uart1_Rx_int(void);
__interrupt void Uart1_Tx_int(void);

/*------------------------------------------------------------------------
   Vector definiton

   Use following statements to define vectors. All resource related
   vectors are predefined. Remaining software interrupts can be added here
   as well.
   NOTE: If software interrupts 0 to 7 are defined here, this might
   conflict with the reset vector in the start-up file.
*/

#pragma intvect DefaultIRQHandler  9    /* software interrupt 9         */
#pragma intvect DefaultIRQHandler 10    /* exeception handler           */
#pragma intvect can0_rx           11    /* CAN #0 (receive complete)    */
#pragma intvect DefaultIRQHandler 12    /* CAN #0 (transmission complete node status transition) */
#pragma intvect can1_rx           13    /* CAN #1 (receive complete) notused for MB90545 series */
#pragma intvect DefaultIRQHandler 14    /* CAN #1 (transmission complete node status transition) */
#pragma intvect irqsrv_com1       15    /* external interrupt INT0/INT1 */
#pragma intvect DefaultIRQHandler 16    /* timebase timer               */
#pragma intvect ReloadTimer0      17    /* 16-bit reload timer #0       */
#pragma intvect DefaultIRQHandler 18    /* A/D converter                */
#pragma intvect DefaultIRQHandler 19    /* I/O timer                    */
#pragma intvect irqsrv_com2       20    /* external interrupt INT2/INT3 */
#pragma intvect DefaultIRQHandler 21    /* serial I/O                   */
#pragma intvect DefaultIRQHandler 22    /* PPG #0/1                     */
#pragma intvect DefaultIRQHandler 23    /* input capture CH.0           */
#pragma intvect DefaultIRQHandler 24    /* external interrupt INT4/INT5 */
#pragma intvect DefaultIRQHandler 25    /* input capture CH.1           */
#pragma intvect DefaultIRQHandler 26    /* PPG #2/3                     */
#pragma intvect DefaultIRQHandler 27    /* external interrupt INT6/INT7 */
#pragma intvect DefaultIRQHandler 28    /* watch timer                  */
#pragma intvect DefaultIRQHandler 29    /* PPG #4/5                     */
#pragma intvect DefaultIRQHandler 30    /* input capture CH.2/3         */
#pragma intvect DefaultIRQHandler 31    /* PPG #6/7                     */
#pragma intvect DefaultIRQHandler 32    /* output compare CH.0          */
#pragma intvect DefaultIRQHandler 33    /* output compare CH.1          */
#pragma intvect DefaultIRQHandler 34    /* input capture CH.4/5         */
#pragma intvect DefaultIRQHandler 35    /* output compare CH.2/3 or input capture CH.6/7 */
#pragma intvect DefaultIRQHandler 36    /* 16-bit reload timer #1       */
#pragma intvect irqsvruart0_rx    37    /* UART #0 (receive complete)   */
#pragma intvect irqsvruart0_tx    38    /* UART #0 (transmission compl.)*/
#pragma intvect Uart1_Rx_int      39    /* UART #1 (receive complete)   */
#pragma intvect Uart1_Tx_int      40    /* UART #1 (transmission compl.)*/
#pragma intvect DefaultIRQHandler 41    /* IRQ41-handler                */
#pragma intvect DefaultIRQHandler 42    /*    delayed interrupt            */

/*------------------------------------------------------------------------
   DefaultIRQHandler()

   This function is a placeholder for all vector definitions. Either use
   your own placeholder or add necessary code here.
*/
__interrupt

void DefaultIRQHandler (void)
{
    __DI();                              /* disable interrupts */
    while(1)
        __wait_nop();                    /* halt system */
}

⌨️ 快捷键说明

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