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

📄 int.h

📁 ADC图形图像例子
💻 H
字号:
/************************************************************************
 * File: int.h
 * 
 * Copyright: Peak Microtech Corporation
 *
 ***********************************************************************/

#ifndef __INT_H__
#define __INT_H__
#include "uart.h"
#define NOTUSEDISR      (fp)(0) 
typedef void            (*fp)(void);

void NMI();
void SWI7();
void AUTO_INT();

void TIMER0();
void TIMER1();
void V_ENGINE();
void SIO();
void EXT_IRQ0();
void EXT_IRQ1();
void DMA0();
void DMA1();
void TIMER2();
void TIMER3();
void EXT_IRQ2();
void EXT_IRQ3();
void UART0_ER();
void UART0_RX();
void UART0_TX();
void UART1_ER();
void UART1_RX();
void UART1_TX();
void VSP();
void PWM();
// INT register define// status bit 13 : interrupt Enable(1) / Disable(0)
#define	_ENABLE_INT()					asm( "set 13" )
#define _DISABLE_INT()					asm( "clr 13" )

// status bit 12 : vectored mode(1) / Auto vectored mode(0)
#define _SET_VECTORED_MODE_INT()		asm( "set 12" )
#define _SET_AUTOVECTORED_MODE_INT()	asm( "clr 12" )

#undef	DG_BIT( _BIT_ )
#define DG_BIT( _BIT_ )		(0x1<<(_BIT_))

#define	_REG_INT_MOD		(*(volatile U16 *)(0x01800c00))
	#define	_INT_MOD_STATUS_EXTIRQ( _N_ )			DG_BIT( _N_ )
	#define	_INT_MOD_TRIGGER_EXTIRQ( _N_ )			DG_BIT( (_N_) + 8 )
	#define _INT_MOD_STATUS_ACTIVELOW( _N_ )		0
	#define _INT_MOD_STATUS_ACTIVEHIGH( _N_ )		DG_BIT( _N_ )
	#define	_INT_MOD_TRIGGER_LEVEL( _N_ )			0
	#define	_INT_MOD_TRIGGER_EDGE( _N_ )			DG_BIT( (_N_) + 8 )
#define _REG_INT_VEC		(*(volatile unsigned short *)(0x01800c04))
#define _REG_ISR_END		(*(volatile unsigned char *)(0x01800c04))
#define _REG_INT_EN			(*(volatile unsigned long *)(0x01800c08))
#define _REG_INT_ST			(*(volatile unsigned long *)(0x01800c0c))

#define _ISR_HIGH_3BIT		0x0100	// INT VEC Base Address : 0x80

#define _ISR_END( _INTNO_ )				{_REG_ISR_END = _INTNO_;}

#define _INT_BASE_OFFSET	0x20
#define _INT_NO_TIMER0		0
#define _INT_NO_TIMER1		1
#define _INT_NO_SOUND		2
#define _INT_NO_EXTIRQ0		5		
#define _INT_NO_EXTIRQ1		6
#define _INT_NO_TIMER2		9
#define _INT_NO_TIMER3		10
#define _INT_NO_EXTIRQ2		11
#define _INT_NO_EXTIRQ3		12
#define _INT_NO_EXTIRQ4		19
#define _INT_NO_EXTIRQ5		20
#define _INT_NO_EXTIRQ6		21
#define _INT_NO_EXTIRQ7		22

#define _INT_TIMER0			DG_BIT(_INT_NO_TIMER0)
#define _INT_TIMER1			DG_BIT(_INT_NO_TIMER1)
#define _INT_TIMER2			DG_BIT(_INT_NO_TIMER2)
#define _INT_TIMER3			DG_BIT(_INT_NO_TIMER3)
#define _INT_SOUND			DG_BIT(_INT_NO_SOUND)

#define _INT_EXTIRQ0		DG_BIT(_INT_NO_EXTIRQ0)
#define _INT_EXTIRQ1		DG_BIT(_INT_NO_EXTIRQ1)
#define _INT_EXTIRQ2		DG_BIT(_INT_NO_EXTIRQ2)
#define _INT_EXTIRQ3		DG_BIT(_INT_NO_EXTIRQ3)
#define _INT_EXTIRQ4		DG_BIT(_INT_NO_EXTIRQ4)
#define _INT_EXTIRQ5		DG_BIT(_INT_NO_EXTIRQ5)
#define _INT_EXTIRQ6		DG_BIT(_INT_NO_EXTIRQ6)
#define _INT_EXTIRQ7		DG_BIT(_INT_NO_EXTIRQ7)// Timer1 Define#define	_REG_TIMER0_CON		(*(volatile U16 *)(0x01801400))
#define	_REG_TIMER0_CNT		(*(volatile U16 *)(0x01801404))
#define	_REG_TIMER1_CON		(*(volatile U16 *)(0x01801408))
#define	_REG_TIMER1_CNT		(*(volatile U16 *)(0x0180140c))

#define	_TIMER_PRESCALER_SHIFT		(8)
#define	_TIMER_OPERATION_SHIFT		(1)
#define _TIMER_ENABLE_SHIFT			(0)
#define _TIMER_PRESCALER_MASK		((0x000000ffUL)<<_TIMER_PRESCALER_SHIFT)
#define _TIMER_OPERATION_MASK		((0x00000001UL)<<_TIMER_OPERATION_SHIFT)
#define _TIMER_ENABLE_MASK			((0x00000001UL)<<_TIMER_ENABLE_SHIFT)
#define _TIMER_OPERATION_ONESHOT	(0<<_TIMER_OPERATION_SHIFT)
#define _TIMER_OPERATION_CONTINUE	(1<<_TIMER_OPERATION_SHIFT)
#define _TIMER_ENABLE				(1<<_TIMER_ENABLE_SHIFT)
#define _TIMER_DISABLE				(0<<_TIMER_ENABLE_SHIFT)#define	CACHE_SIZE	((1024*4)/4) // 4KByte#define XIN	14318000.00
long _vgSDK_Cache_Flag;
void InitInterrupt( void );
void vgSetInterruptVector( int num, void (*event)() );void _vgSDK_Cache_Reset();U32  vgGetSysFreq();void vgInitTimer1( void (*event)(), U32 vr0clock );void vgSetTimer1( U16 usec );void vgStopTimer1( void );
#endif /* __INT_H__ */

⌨️ 快捷键说明

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