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

📄 vector.c

📁 LIN Driver for S08, LIN 1.3. Source code with codewarrior
💻 C
字号:
#define VECTOR_C
/******************************************************************************
*                                                                     
*       Copyright (C) 2005 Freescale Semiconductor, Inc.              
*       All Rights Reserved								              
*														              
* Filename:     vector.c                
*														              
* Revision:      										              
*														              
* Functions:    Vectors table for LINS08, LINS08 Drivers with Freescale API
*												                            
* Description:  This file contains vectors tables for HC12B32, HC12D60, 
*               HC12DA128, MC9S12DP256 and MC9S08AW60 MCUs.
*               It used for LIN Drivers with Freescale API.
*               The users can add their own vectors into the table,
*               but they should not replace LIN Drivers vectors.
*
* Notes:        Timer Channel 0 vector used for Master driver only.
*
*               The only one of the following variables may be defined, while
*               all others are undefined. This is controlled by the compiler
*               option, which in turn is to be adjusted in 'makefile' or batch
*               file:
*                       HC12B32   --   M68HC12B32EVB or M68HC12BC32EVB is used
*                       HC12D60   --   M68EVB912D60 is used
*                       HC12D128  --   M68EVB912D60 with DA128 chip is used
*                       HC12DP256 --   MC9S12DP256 is used
*                       S08AW60   --   MC9S08AW60 is used
*
******************************************************************************/
#include    <startup.h>                             /* startup routine declaration   */

extern void _Startup( void );                       /* reset vector                  */

extern void LIN_ISR_SCI_Receive();                  /* SCI receive interrupt routine */
extern void LIN_ISR_SCI_Error();                    /* SCI error interrupt routine   */
#if defined(MASTER)
extern void LIN_ISR_Timer();                        /* Timer interrupt routine       */
#endif /* defined(MASTER) */
extern void RTI_ISR();                              /* RTI ISR                       */

														    
																				    
/******************************************************************************		
 *                                                                                     
 * Function:     DummyISR()                										
 *														              			        
 * Description:  dummy interrupt handler                                        	    
 *                                                                                     
 * Returns: no return value                                                            
 *																				        
 * Notes:        														     		    
 *																		    		    
 ******************************************************************************/       
#pragma MESSAGE DISABLE C4000 
static interrupt void DummyISR(void)											    
{	    																			    
	while(1);																		    
}   																				    
																					    
																					    
/******************************************************************************        
    INTERRUPT VECTORS TABLE                                                            
    User is able to add another ISR into this table instead NULL pointer.              
****************************************************************************/        
#undef  VECTF                                                                      
																					   
#define VECTF   ( void ( *const near )( ) )     /* Vector table function specifier   */

#pragma CONST_SEG VECTORS_DATA

void near ( * const near _vectab[] )( ) =   

{
	VECTF	RTI_ISR,			      /* 0xFFCC:	RTI                    */
	VECTF	DummyISR,			      /* 0xFFCE:	IIC                    */
	VECTF	DummyISR,			      /* 0xFFD0:	ADC Conversion         */
	VECTF	DummyISR,			      /* 0xFFD2:	Keyboard               */
	VECTF	DummyISR,			      /* 0xFFD4:	SCI2 Transmit          */
#if defined(SCI_2)
	VECTF	LIN_ISR_SCI_Receive,/* 0xFFD6:	SCI2 Receive           */
	VECTF	LIN_ISR_SCI_Error,  /* 0xFFD8:	SCI2 Error             */
#else
	VECTF	DummyISR,			      /* 0xFFD6:	SCI2 Receive           */
	VECTF	DummyISR,			      /* 0xFFD8:	SCI2 Error             */
#endif /*defined(SCI_1)*/
	VECTF	DummyISR,			      /* 0xFFDA:	SCI1 Transmit	         */
#if defined(SCI_1)
	VECTF	LIN_ISR_SCI_Receive,/* 0xFFDC:	SCI1 Receive	         */
	VECTF	LIN_ISR_SCI_Error,  /* 0xFFDE:	SCI1 Error		         */
#else
	VECTF	DummyISR,           /* 0xFFDC:	SCI1 Receive	         */
	VECTF	DummyISR,           /* 0xFFDE:	SCI1 Error		         */
#endif /*defined(SCI_1)*/
	VECTF	DummyISR,			      /* 0xFFE0:	SPI		                 */
	VECTF	DummyISR,			      /* 0xFFE2:	TPM2 Overflow		       */
#if defined(MASTER) 
#if defined(CHANNEL_1) && defined(TPM_2)  
	VECTF	LIN_ISR_Timer,      /* 0xFFE4:	TPM2 Channel 1		     */
#else
	VECTF	DummyISR,			      /* 0xFFE4:	TPM2 Channel 1		     */
#endif /*defined(CHANNEL_1) && defined(TPM_2)*/
#if defined(CHANNEL_0) && defined(TPM_2)  
	VECTF	LIN_ISR_Timer,      /* 0xFFE6:	TPM2 Channel 0		     */
#else
	VECTF	DummyISR,			      /* 0xFFE6:	TPM2 Channel 0		     */
#endif /*defined(CHANNEL_0) && defined(TPM_2)*/
#endif /*defined(MASTER)*/
#if defined(SLAVE)
  VECTF DummyISR,           /* 0xFFE4:  TPM2 Channel 1         */
  VECTF DummyISR,           /* 0xFFE6:  TPM2 Channel 0         */
#endif /*defined(SLAVE)*/
	VECTF	DummyISR,			      /* 0xFFE8:	TPM1 Overflow		       */
#if defined(MASTER)
#if defined(CHANNEL_5) && defined(TPM_1)  
  VECTF LIN_ISR_Timer,      /* 0xFFEA:  TPM1 Channel 5         */
#else
  VECTF DummyISR,           /* 0xFFEA:  TPM1 Channel 5         */
#endif /*defined(CHANNEL_5 && defined(TPM_1))*/
#if defined(CHANNEL_4) && defined(TPM_1)   
  VECTF LIN_ISR_Timer,      /* 0xFFEC:  TPM1 Channel 4         */
#else
  VECTF DummyISR,           /* 0xFFEC:  TPM1 Channel 4         */
#endif /*defined(CHANNEL_4 && defined(TPM_1))*/
#if defined(CHANNEL_3) && defined(TPM_1)   
  VECTF LIN_ISR_Timer,      /* 0xFFEE:  TPM1 Channel 3         */
#else
  VECTF DummyISR,           /* 0xFFEE:  TPM1 Channel 3         */
#endif /*defined(CHANNEL_3) && defined(TPM_1)*/
#if defined(CHANNEL_2) && defined(TPM_1)    
  VECTF LIN_ISR_Timer,      /* 0xFFF0:  TPM1 Channel 2         */
#else
  VECTF DummyISR,           /* 0xFFF0:  TPM1 Channel 2         */
#endif /*defined(CHANNEL_2) && defined(TPM_1)*/
#if defined(CHANNEL_1) && defined(TPM_1)   
  VECTF LIN_ISR_Timer,      /* 0xFFF2:  TPM1 Channel 1         */
#else
  VECTF DummyISR,           /* 0xFFF2:  TPM1 Channel 1         */
#endif /*defined(CHANNEL_1) && defined(TPM_1)*/
#if defined(CHANNEL_0) && defined(TPM_1)   
  VECTF LIN_ISR_Timer,      /* 0xFFF4:  TPM1 Channel 0         */
#else
  VECTF DummyISR,           /* 0xFFF4:  TPM1 Channel 0         */
#endif /*defined(CHANNEL_0) && defined(TPM_1)*/
#endif /*defined(MASTER)*/
#if defined(SLAVE)
  VECTF DummyISR,           /* 0xFFEA:  TPM1 Channel 5         */
  VECTF DummyISR,           /* 0xFFEC:  TPM1 Channel 4         */
  VECTF DummyISR,           /* 0xFFEE:  TPM1 Channel 3         */
  VECTF DummyISR,           /* 0xFFF0:  TPM1 Channel 2         */
  VECTF DummyISR,           /* 0xFFF2:  TPM1 Channel 1         */
  VECTF DummyISR,           /* 0xFFF4:  TPM1 Channel 0         */
#endif /*defined(SLAVE)*/
	VECTF	DummyISR,		        /* 0xFFF6:	ICG		                 */
	VECTF	DummyISR,		        /* 0xFFF8:	Low Voltage Detect		 */
	VECTF	DummyISR,		        /* 0xFFFA:	IRQ		                 */
	VECTF	DummyISR,		        /* 0xFFFC:	SWI		                 */
	VECTF	_Startup,		        /* 0xFFFE:	Reset		               */
};


#pragma CONST_SEG DEFAULT

⌨️ 快捷键说明

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