📄 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;
//读取中断寄存器
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();
//..........
}
interrupt void RTI_ISR(void)
{
RTI_count++;
//clear RTIF bit
CRGFLG = 0x80;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -