irqshare.h

来自「一个不错的硬盘播放器程序,包含VFD显示程序,红外线遥控程序,硬盘读写程序,及解」· C头文件 代码 · 共 63 行

H
63
字号
/* Copyright 1996-1997, ESS Technology, Inc. *//* SCCSID @(#)irqshare.h	1.1 12/2/97 *//* * This is the #define stuff for the access to the * LCS0# address range for GAL16V8 interrupt sharing * *  XOR1 gate is used for subcode-Q interrupt control *  XOR2 gate is used for IR interrupt control * *  External XOR1 gate is set to 1 by write to  0x18010000 *  External XOR1 gate is set to 0 by read from 0x18010000 *  External XOR2 gate is set to 1 by write to  0x18020000 *  External XOR2 gate is set to 0 by read from 0x18020000 *   *  The following information is read from 0x18018000 *    D0 = SQ Interrupt   (after the XOR2 gate) *    D1 = IR Interrupt   (after the XOR1 gate) *    D2 = IN0  * *  The following information is read from 0x18080000 *    D2 = IN1 * *  Notice SQCK is still driven at address 0x18000000 * * by Andy Ho */#ifndef _COMMON_H_#include "common.h"#endif/* * GBLDEF(unsigned int x18010000, 0x18010000); * GBLDEF(unsigned int x18018000, 0x18018000); * GBLDEF(unsigned int x18020000, 0x18020000); * GBLDEF(unsigned int x18008000, 0x18008000); */#define SET_XOR1	*(int *) 0x18010000 = reg0#define CLEAR_XOR1	reg0 = *(int *) 0x18010000#define SET_XOR2	*(int *) 0x18020000 = reg0#define CLEAR_XOR2	reg0 = *(int *) 0x18020000#define READ_IRQ(x)	x = *(unsigned int *) 0x18018000#define READ_IN0(x)	x = *(unsigned int *) 0x18018000#define READ_IN1(x)	x = *(unsigned int *) 0x18008000#define SQ_INT_HIGH(x)	(x & 0x1)#define SQ_INT_LOW(x)	!(x & 0x1)#define IR_INT_HIGH(x)	(x & 0x2)#define IR_INT_LOW(x)	!(x & 0x2)#define IN0_HIGH(x)	(x & 0x4)#define IN0_LOW(x)	!(x & 0x4)#define IN1_HIGH(x)	(x & 0x4)#define IN1_LOW(x)	!(x & 0x4)   

⌨️ 快捷键说明

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