?? vectors.c
字號:
/**********************************************************
*
* The following software is for demonstration purposes only.
* It is not fully tested, nor validated in order to fullfill
* its task under all circumstances. Therefore, this software
* or any part of it must only be used in an evaluation
* laboratory environment.
* This software is subject to the rules of Accemic's
* standard DISCLAIMER, available at www.accemic.com.
*
* Copyright (c) 2001-2003 Accemic GmbH & Co. KG
* All rights reserved
*
***********************************************************
*
* Module name : vectors.c
* Version : 1.0
* Date of creation. : 07.03.2003
* Last Modification : 07.03.2003
* Authors : Rainer Harthaus (RH)
*
***********************************************************
*
* Description:
* Initialisation of all interrupt resources
*
* IMPORTANT:
* Don't change the ICR register used by the kernel UART
*
***********************************************************
*
* History
*
* Vers * Datum * Name * Subject
* 1.00 * 07.03.03 * RH * first creation
*
***********************************************************
*
* Please visit www.accemic.com
* for updates and other valuable developer ressources
*
***********************************************************/
#include "stddefs.h"
#include "monitor.h"
/**********************************************************
***********************************************************
*
* InitIrqLevels
*
***********************************************************
***********************************************************
*
* Description:
* Initialisation of all interrupt control registers
*
***********************************************************
*
* IMPORTANT:
* Don't change the ICR registers used by the kernel UART
*
***********************************************************/
void InitIrqLevels(void)
{
int i;
for( i = 0; i < 15; i++)
{ if( (i != monitor_icr_rx) && (i != monitor_icr_tx))
*((BYTE*) &ICR00 + i) = 7;
}
}
/**********************************************************
***********************************************************
*
* DefaultIRQHandler
*
***********************************************************
***********************************************************
*
* Description:
* This function should never been called!
*
**********************************************************/
__interrupt void DefaultIRQHandler (void)
{
/*
You can use the message functions of Accemic MDE here:
char MsgBuf[32];
acc_MessageBox(
(__far char*)"DefaultIRQHandler was called",
MB_OK,
MsgBuf);
*/
}
/**********************************************************
***********************************************************
* Interrupt vector-table
***********************************************************
**********************************************************/
/**********************************************************
* Reset Vector - see start.asm
**********************************************************/
extern void __interrupt EntryPoint (void);
#pragma intvect EntryPoint 8
/**********************************************************
* 385 family
***********************************************************/
#if defined (__CPU_MB90385_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 18
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 17
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 36
#endif
#if defined USE_UART1RX_INT
extern void __interrupt OnUART1RX (void);
#pragma intvect OnUART1RX 37
#endif
#if defined USE_UART1TX_INT
extern void __interrupt OnUART1TX (void);
#pragma intvect OnUART1TX 38
#endif
/**********************************************************
* 390 family
***********************************************************/
#elif defined (__CPU_MB90390_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 31
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 23
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 24
#endif
/**********************************************************
* 420 family
***********************************************************/
#elif defined (__CPU_MB90420_SERIES) || \
defined (__CPU_MB90425_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 32
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 17
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 28
#endif
/**********************************************************
* 435 family
***********************************************************/
#elif defined (__CPU_MB90435_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 18
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 17
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 36
#endif
/**********************************************************
* 440 family
***********************************************************/
#elif defined (__CPU_MB90440_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 18
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 17
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 36
#endif
/**********************************************************
* 455 family
***********************************************************/
#elif defined (__CPU_MB90455_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 18
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 17
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 36
#endif
/**********************************************************
* 460 family
***********************************************************/
#elif defined (__CPU_MB90460_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 11
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 30
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 18
#endif
/**********************************************************
* 470 family
***********************************************************/
#elif defined (__CPU_MB90470_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 40
#endif
/**********************************************************
* 495 family
***********************************************************/
#elif defined (__CPU_MB90495_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 18
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 17
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 36
#endif
/**********************************************************
* 520 family
***********************************************************/
#elif defined (__CPU_MB90520_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 11
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 38
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 40
#endif
/**********************************************************
* 540 family
***********************************************************/
#elif defined (__CPU_MB90540_SERIES) || \
defined (__CPU_MB90545_SERIES)
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 17
#endif
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 18
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 36
#endif
/**********************************************************
* 550 family
***********************************************************/
#elif defined (__CPU_MB90550A_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 11
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 25
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 27
#endif
/**********************************************************
* 560 family
***********************************************************/
#elif defined (__CPU_MB90560_SERIES) || \
defined (__CPU_MB90565_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 11
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 30
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 32
#endif
/**********************************************************
* 570 family
***********************************************************/
#elif defined (__CPU_MB90570_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 11
#endif
/**********************************************************
* 580 family
***********************************************************/
#elif defined (__CPU_MB90580_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 11
#endif
/**********************************************************
* 590 family
***********************************************************/
#elif defined (__CPU_MB90590_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 31
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 23
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 24
#endif
/**********************************************************
* 595 family
***********************************************************/
#elif defined (__CPU_MB90595_SERIES)
#if defined USE_ADC_INT
extern void __interrupt OnADC (void);
#pragma intvect OnADC 16
#endif
#if defined USE_RELOAD0_INT
extern void __interrupt OnReloadTimer0 (void);
#pragma intvect OnReloadTimer0 15
#endif
#if defined USE_RELOAD1_INT
extern void __interrupt OnReloadTimer1 (void);
#pragma intvect OnReloadTimer1 36
#endif
#else
/**********************************************************
* Error: Your selected CPU is not defined
***********************************************************/
#error Error: Your selected CPU is not defined in vectors.c
#endif
#pragma defvect DefaultIRQHandler
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -