📄 hcisr.c
字号:
/*
//*************************************************************************
//
// P H I L I P S P R O P R I E T A R Y
//
// COPYRIGHT (c) 2000 BY PHILIPS SINGAPORE.
// -- ALL RIGHTS RESERVED --
//
// File Name: HcISR.C
// Author: ZhenYu Zhang
// Created: Feb. 1, 1999
// Modified: May 24, 2002 by Zhongwei Wang
// Revision: 1.0
//
//*************************************************************************
//
//*************************************************************************
// Implementation Notes,
// ISR hierachy
// usb_isr()
//
*/
#include <stdio.h>
#include <string.h>
#include <dos.h>
#include "BasicTyp.h"
#include "common.h"
#include "SysCnfg.h"
#include "HAL4Sys.h"
#include "HAL4ISA.h"
#include "HAL4IKit.h"
#include "HAL4D13.h"
#include "HAL4HC.h"
#include "HcISR.h"
#include "PHC_Reg.h"
//*************************************************************************
// Public static data
//*************************************************************************
extern bIRQL;
extern USHORT IRQ4HC_CHNNL;
//*************************************************************************
// ISR Subroutine
//*************************************************************************
void interrupt ISR_4HC(void)
{
bIRQL = 1;
fn_SHC_isr();
if (IRQ4HC_CHNNL >= 0x08)
{
outportb(0xA0, 0x20);
outportb(0x20, 0x20);
}
else
outportb(0x20, 0x20);
bIRQL = 0;
}
void fn_SHC_isr(void)
{
USHORT wTemp;
wTemp = Hal4Hc_RegInW(REG_IRQ);
// printf("HC: IRQ status reg = 0x%x\n",wTemp);
/* if(wTemp & 0x40)
{
Hal4Hc_RegOutW(REG_IRQ, 0x40);
printf("HC: Interrupt: HC ClkReady! \n");
wakeup_hc_on_otgint();
// Hal4Hc_RegOutW(REG_IRQ, 0x40); //clear interrupt
}*/
if(wTemp & 0x200)
{
// printf("OTG port: Serving OTG interrupt \n");
fn_OTG_isr();
}
Hal4Hc_RegOutW(REG_IRQ, 0x3ff); //clear interrupt
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -