📄 vectors.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 + -