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

📄 vector.c

📁 Epson系列芯片开发的例子
💻 C
📖 第 1 页 / 共 3 页
字号:
/********************************************************************************************************
 *													*
 *	Copyright (C) SEIKO EPSON CORP. 2002								*
 *													*
 *	File name: vector.c										*
 *	  This is vector table program with C.								*
 *													*
 *	Revision history										*
 *		2002.04.28	Andrew Yin	Start.							*
 *													*
 *******************************************************************************************************/
#include "stdio.h"

/* Prototype */
extern void vIntBoot( void );
void vIntAddressError( void );
void vIntZeroDiv( void );
void vIntDebugExp( void );
void vIntNMI( void );
void dummy1( void );
void dummy2( void );
void dummy3( void );
void dummy4( void );
void dummy5( void );
void dummy6( void );
void dummy7( void );
void dummy8( void );
void dummy9( void );
void dummy10( void );
void dummy11( void );
void dummy12( void );
void dummy13( void );
void dummy14( void );
void dummy15( void );
void dummy16( void );
void dummy17( void );
void dummy18( void );
void dummy19( void );
void dummy20( void );
void dummy21( void );
void dummy22( void );
void dummy23( void );
void dummy24( void );
void dummy25( void );
void dummy26( void );
void dummy27( void );
void dummy28( void );
void dummy29( void );
void dummy30( void );
void dummy31( void );
void dummy32( void );
void dummy33( void );
void dummy34( void );
void dummy35( void );
void dummy36( void );
void dummy37( void );
void dummy38( void );
void dummy39( void );
void dummy40( void );
void dummy42( void );
void dummy43( void );
void dummy44( void );
void dummy41( void );
void dummy45( void );
void dummy46( void );
void dummy47( void );
void dummy48( void );
void dummy49( void );
void dummy50( void );
void dummy51( void );
void dummy52( void );
void dummy53( void );
void dummy54( void );
void dummy55( void );
void dummy56( void );
void dummy57( void );
void dummy58( void );
void dummy59( void );
void dummy60( void );

//TouchPanel used interrupt function
extern void vIntTouchPanelScanHandler( void );
extern void vIntTouchPanelAD( void );			// This version not use this interrupt
extern void vIntTouchPanel( void);
extern void vIntKey( void );
extern void vIntUart0TransmitData( void );
extern void vIntUart0ReceiveData( void );
extern void vIntUart1TransmitData( void);
extern void vIntUart1ReceiveData( void );
extern void vIntRTC( void );

// vector table
const unsigned long vector[] = {
	(unsigned long)vIntBoot,			// 0	0	Reset
	0,						// 4	1	reserved
	0,						// 8	2	reserved
	0,						// 12	3	reserved
	(unsigned long)vIntZeroDiv,			// 16	4	Zero division
	0,						// 20	5	reserved
	(unsigned long)vIntAddressError,		// 24	6	address error exception
	(unsigned long)vIntDebugExp,			// 28	7	Debugging exception
	(unsigned long)vIntNMI,				// 32	8	NMI
	0,						// 36	9	reserved
	0,						// 40	10	reserved
	0,						// 44	11	reserved
	(unsigned long)dummy1,				// 48	12	software exception 0
	(unsigned long)dummy2,				// 52	13	software exception 1
	(unsigned long)dummy3,				// 56	14	software exception 2
	(unsigned long)dummy4,				// 60	15	software exception 3
	(unsigned long)dummy5,				// 64	16	prot input interrupt 0
	(unsigned long)dummy6,				// 68	17	prot input interrupt 1
	(unsigned long)dummy7,				// 72	18	prot input interrupt 2
	(unsigned long)dummy8,				// 76	19	prot input interrupt 3
	(unsigned long)vIntKey,				// 80	20	Key input interrupt 0
	(unsigned long)vIntTouchPanel,			// 84	21	Key input interrupt 1
	(unsigned long)dummy11,				// 88	22	High-speed DMA Ch.0
	(unsigned long)dummy12,				// 92	23	High-speed DMA Ch.1
	(unsigned long)dummy13,				// 96	24	High-speed DMA Ch.2
	(unsigned long)dummy14,				// 100	25	High-speed DMA Ch.3
	(unsigned long)dummy15,				// 104	26	IDMA
	(unsigned long)dummy16,				// 108	27	reserved
	(unsigned long)dummy17,				// 112	28	reserved
	(unsigned long)dummy18,				// 116	29	reserved
	(unsigned long)dummy19,				// 120	30	16-bit programmable timer 0 - comparison B
	(unsigned long)dummy20,				// 124	31	16-bit programmable timer 0 - comparison A
	(unsigned long)dummy21,				// 128	32	reserved
	(unsigned long)dummy22,				// 132	33	reserved
	(unsigned long)dummy23,				// 136	34	16-bit programmable timer 1 - comparison B
	(unsigned long)dummy24,				// 140	35	16-bit programmable timer 1 - comparison A
	(unsigned long)dummy25,				// 144	36	reserved
	(unsigned long)dummy26,				// 148	37	reserved
	(unsigned long)dummy27,				// 152	38	16-bit programmable timer 2 - comparison B
	(unsigned long)dummy28,				// 156	39	16-bit programmable timer 2 - comparison A
	(unsigned long)dummy29,				// 160	40	reserved
	(unsigned long)dummy30,				// 164	41	reserved
	(unsigned long)vIntTouchPanelScanHandler,	// 168	42	16-bit programmable timer 3 - comparison B
	(unsigned long)dummy32,				// 172	43	16-bit programmable timer 3 - comparison A
	(unsigned long)dummy33,				// 176	44	reserved
	(unsigned long)dummy34,				// 180	45	reserved
	(unsigned long)dummy35,				// 184	46	16-bit programmable timer 4 - comparison B
	(unsigned long)dummy36,				// 188	47	16-bit programmable timer 4 - comparison A
	(unsigned long)dummy37,				// 192	48	reserved
	(unsigned long)dummy38,				// 196	49	reserved
	(unsigned long)dummy39,				// 200	50	16-bit programmable timer 5 - comparison B
	(unsigned long)dummy40,				// 204	51	16-bit programmable timer 5 - comparison A
	(unsigned long)dummy41,				// 208	52	8-bit programmable timer - timer 0 underflow
	(unsigned long)dummy42,				// 212	53	8-bit programmable timer - timer 1 underflow
	(unsigned long)dummy43,				// 216	54	8-bit programmable timer - timer 2 underflow
	(unsigned long)dummy44,				// 220	55	8-bit programmable timer - timer 3 underflow
	(unsigned long)dummy45,				// 224	56	S/I ch.0 - receive error
	(unsigned long)vIntUart0ReceiveData,		// 228	57	S/I ch.0 - receive buffer full
	(unsigned long)vIntUart0TransmitData,		// 232	58	S/I ch.0 - transmit buffer empty
	(unsigned long)dummy48,				// 236	59	reserved
	(unsigned long)dummy49,				// 240	60	S/I ch.1 - receive error
	(unsigned long)vIntUart1ReceiveData,		// 244	61	S/I ch.1 - receive buffer full
	(unsigned long)vIntUart1TransmitData,		// 248	62	S/I ch.1 - transmit buffer empty
	(unsigned long)dummy52,				// 252	63	reserved
	(unsigned long)vIntTouchPanelAD,		// 256	64	A/D converter
	(unsigned long)vIntRTC,				// 260	65	clock timer
	(unsigned long)dummy55,				// 264	66	reserved
	(unsigned long)dummy56,				// 268	67	reserved
	(unsigned long)dummy57,				// 272	68	prot input interrupt 4
	(unsigned long)dummy58,				// 276	69	prot input interrupt 5
	(unsigned long)dummy59,				// 280	70	prot input interrupt 6
	(unsigned long)dummy60				// 284	71	prot input interrupt 7
};

/*************************************************************************************************
 * IntAddressError
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	Address error interrupt program.
 *************************************************************************************************/
void vIntAddressError( void )
{
	asm("reti");
}

/*************************************************************************************************
 * IntZeroDiv
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	Zero division interrupt program.
 *************************************************************************************************/
void vIntZeroDiv( void )
{
	asm("reti");
}

/*************************************************************************************************
 * vIntNMI
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	NMI interrupt program.
 *************************************************************************************************/
void vIntNMI( void )
{
	asm("nop");
	asm(".global ESC");
	asm("ESC:");
	asm("reti");
}

/*************************************************************************************************
 * vIntDebugExp
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	Debugging exception interrupt program.
 *************************************************************************************************/
void vIntDebugExp( void )
{
INT_LOOP:
	goto	INT_LOOP;
}

/*************************************************************************************************
 * dummy1
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy1( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy2
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy2( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy3
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy3( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy4
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy4( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy5
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy5( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy6
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy6( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy7
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy7( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy8
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy8( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy9
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy9( void )
{
INT_LOOP:
	goto	INT_LOOP;
	//asm("	reti");
}

/*************************************************************************************************
 * dummy10
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	dummy program.
 *************************************************************************************************/
void dummy10( void )

⌨️ 快捷键说明

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