www.pudn.com > LinkDrvDemo.rar > utils.h


//********************************************************************* 
//  File Name: utils.h 
//  Author  : YangLi 
//  E-mail  : yl@water.ac.cn                                             
//  Version : 1.0                                                                
//  BeiJing ZHONGKEHAIXUN Science & Technology Co. Ltd.            
//  Copyright 2005 
//********************************************************************* 
 
// Support for TigerSharc utilities in utils.c 
#define LEVEL    0 
#define EDGE     1 
 
// SQCTL Register Bit Descriptions 
#define TMR0RN   0x00001000 // Bit to enable timer 0 
#define TMR1RN   0x00002000 // Bit to enable timer 1 
#define IRQ0E    0x00010000 // Make IRQ0 edge-sensitive 
#define IRQ1E    0x00010000 // Make IRQ1 edge-sensitive 
#define IRQ2E    0x00010000 // Make IRQ2 edge-sensitive 
#define IRQ3E    0x00010000 // Make IRQ3 edge-sensitive 
#define FLG0O    0x00100000 // Make FLG0 output 
#define FLG1O    0x00200000 // Make FLG1 output 
#define FLG2O    0x00400000 // Make FLG2 output 
#define FLG3O    0x00800000 // Make FLG3 output 
#define FLG0     0x01000000 // Bit for FLG0  
#define FLG1     0x02000000 // Bit for FLG1  
#define FLG2     0x04000000 // Bit for FLG2  
#define FLG3     0x08000000 // Bit for FLG3  
 
// DMA TCB structure 
typedef struct   
{ 
	int *DI;				// index 
	int DX;					// count and stride in x direction 
	int DY;					// count and stride in y direction 
	int DP;					// DMA control word 
}TCB; 
 
typedef long long LLONG; 
 
#define GetIDC()     	  (__builtin_sysreg_read(__SYSTAT) & 0x07) 
 
// function prototypes 
void init_Tiger(void); 
void prep_leds(void); 
void set_flags_as_output(int mask); 
void toggle_leds(int mask); 
void toggle_flags(int mask); 
void leds_off(int mask); 
void leds_on(int mask); 
void set_flags(int mask); 
void clr_flags(int mask); 
void init_timer(int timer, unsigned int hi, unsigned int lo); 
unsigned int start_timer(int timer); 
unsigned int stop_timer(int timer); 
unsigned int get_timer(int timer, unsigned int *hi, unsigned int *lo); 
void irq_set_trigger(int irq, int type); 
void delay(void);