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 + -
显示快捷键?