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

📄 vectors.c

📁 相关富士通单片机实用资料5
💻 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 all 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
                        IRQ12 */
    ICR01 = 7;      /*  IRQ13     
                        IRQ14 */
    ICR02 = 7;      /*  IRQ15
                        IRQ16 */
    ICR03 = 7;      /*  IRQ17
                        IRQ18 */
    ICR04 = 7;      /*  IRQ19
                        IRQ20 */
    ICR05 = 7;      /*  IRQ21
                        IRQ22 */
    ICR06 = 7;      /*  IRQ23
                        IRQ24 */
    ICR07 = 7;      /*  IRQ25
                        IRQ26 */
    ICR08 = 7;      /*  IRQ27
                        IRQ28 */
    ICR09 = 7;      /*  IRQ29
                        IRQ30 */
    ICR10 = 7;      /*  IRQ31
                        IRQ32 */
    ICR11 = 7;      /*  IRQ33
                        IRQ34 */
    ICR12 = 7;      /*  IRQ35
                        IRQ36 */
    ICR13 = 7;      /*  IRQ37
                        IRQ38 */
    ICR14 = 5;      /*  IRQ39
                        IRQ40 */
    ICR15 = 7;      /*  IRQ41
                        IRQ42 */
}
/*------------------------------------------------------------------------
   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 CANRevIRQ (void);
__interrupt void UART1RevIRQ(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 CANRevIRQ         11    /* CAN #0 (receive complete)    */
#pragma intvect DefaultIRQHandler 12    /* CAN #0 (transmission complete
                                               /node status transition) */
#pragma intvect DefaultIRQHandler 13    /* CAN #1 (receive complete)    */
#pragma intvect DefaultIRQHandler 14    /* CAN #1 (transmission complete
                                               /node status transition) */
#pragma intvect DefaultIRQHandler 15    /* external interrupt INT0/INT1 */
#pragma intvect DefaultIRQHandler 16    /* timebase timer               */
#pragma intvect DefaultIRQHandler 17    /* 16-bit reload timer #0       */
#pragma intvect DefaultIRQHandler 18    /* A/D converter                */
#pragma intvect DefaultIRQHandler 19    /* I/O timer                    */
#pragma intvect DefaultIRQHandler 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 DefaultIRQHandler 37    /* UART #0 (receive complete)   */
#pragma intvect DefaultIRQHandler 38    /* UART #0 (transmission compl.)*/
#pragma intvect UART1RevIRQ       39    /* UART #1 (receive complete)   */
#pragma intvect DefaultIRQHandler 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 + -