?? isr.c
字號:
/****************************************Copyright (c)**************************************************
** 廣州周立功單片機發(fā)展有限公司
** 研 究 所
** http://www.zlgmcu.com
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人: 劉英斌
** 日 期:2003-03-13
** 描 述:ISP1581 V1.0
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "standard.h"
#include "Kernel.h"
#include "D14.h"
extern KERNEL Kernel_Flag;
extern D14_CNTRL_REG xdata *D14_Cntrl_Ptr;
extern volatile D14_CNTRL_REG xdata D14_Cntrl_Reg;
extern DMA_INT_FLAG DMA_Int_Flag;
extern USB_INT_FLAG USB_Int_Flag;
extern void Init_D14(void);
extern UC ATAPI_State;
extern DRIVE_CONFIG Drive_Setup;
extern void Set_USB(void);
extern ULI bytecount;
extern UI PIO_Count;
//***********************************************************************
//* *
//* Variable Definition *
//* *
//***********************************************************************
UI idata Data;
ULI USB_Interrupt;
UI DMA_Interrupt;
//***********************************************************************
//* *
//* Routine Definition *
//* *
//***********************************************************************
void Int_2(void) interrupt 2 using 0
{
}
void Int_3(void) interrupt 3 using 0
{
}
void Int_4(void) interrupt 4 using 0
{
}
void Int_5(void) interrupt 5 using 0
{
}
//***********************************************************************
//* *
//* Routine : Int_Timer0 *
//* Input : Timer 0 overflow *
//* Output : Set time up flag *
//* Function : To set the time up flag *
//* *
//***********************************************************************
void Int_Timer0(void) interrupt 1 using 0
{
Kernel_Flag.BITS.Timer_Expired = 1;
}
//***********************************************************************
//* *
//* Routine : Int Ext 0 *
//* Input : External Interrupt from ISP1581 *
//* Output : None *
//* Function : To read and keep a copy of the interrupt source of *
//* ISP1581 *
//***********************************************************************
void Int_Ext_0(void) interrupt 0 using 1
{
//read in USB interrupt register and keep a copy
// USB_Interrupt = D14_Cntrl_Reg.D14_INT.VALUE;
// USB_Int_Flag.VALUE |= USB_Interrupt;
//讀取ISP1581中斷寄存器
USB_Int_Flag.VALUE |= D14_Cntrl_Reg.D14_INT.VALUE;
//回寫ISP1581中斷寄存器
D14_Cntrl_Reg.D14_INT.VALUE = USB_Int_Flag.VALUE;
//總線復位處理
if(USB_Int_Flag.BITS.RESET)
{
//清除總線復位中斷位
USB_Int_Flag.BITS.RESET = 0;
//設置總線復位標志
Kernel_Flag.BITS.Bus_Reset = 1;
PIO_Count = 64;
//切換到全速模式
HS_FS_LED = FULL_SPEED_LED;
Kernel_Flag.BITS.HS_FS_State = FULL_SPEED;
//初始化ISP1581
Init_D14();
//設置softconnect
D14_Cntrl_Reg.D14_MODE.BITS.SOFTCT = 1;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -