📄 isr.c
字号:
/****************************************Copyright (c)**************************************************
** 文 件 名: ISR.c
** 最后修改日期: 2006年10月19日
** 描 述: USB驱动程序软件包: D14 设备端驱动程序 中断处理程序
** 版 本: 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;
//变量定义
UI idata Data;
ULI USB_Interrupt;
UI DMA_Interrupt;
///////////////////////////////////////
//定时器0中断处理函数
void Int_Timer0(void) interrupt 1 using 0
{
Kernel_Flag.BITS.Timer_Expired = 1;
}
//外中断0--USB中断处理函数
void Int_Ext_0(void) interrupt 0 using 1
{
//读取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 + -