?? interrupt.h
字號:
//實時中斷歷程
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void IRQ_ISR(void)
{
static uchar i = 0;
i++;
if(i < 10)
USB_LED_ON;
else if(i < 20)
{
USB_LED_OFF;
}
else
i = 0;
DisableInterrupts;//中斷禁止
//讀取中斷寄存器
D12_INT = D12_ReadInterruptRegister();
//清中斷
if(D12_INT & 0x40)//復位
{
D12_SPD_1;
}
if(D12_INT & 0x80)//掛起改變
{
D12_SPD_0;
}
if(D12_INT & 0x01) EP0_Out();
if(D12_INT & 0x02) EP0_In();
if(D12_INT & 0x04) EP1_Out();
if(D12_INT & 0x08) EP1_In();
if(D12_INT & 0x10) EP2_Out();
if(D12_INT & 0x20) EP2_In();
//..........
EnableInterrupts;//中斷使能
}
interrupt void RTI_ISR(void)
{
RTI_count++;
//clear RTIF bit
CRGFLG = 0x80;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -