📄 isr.asm
字号:
.include hardware.inc
.public _FIQ;
.external _BSR_FIQ_Routine
.external F_FIQ_Service_SACM_A2000
.text
_FIQ:
push R1,R5 to [sp]; // 寄存器压栈保护
R1 = C_FIQ_TMA;
test R1,[P_INT_Ctrl]; //是FIQ_TimerA中断?
jnz L_FIQ_TimerA;
R1 = C_FIQ_TMB;
test R1,[P_INT_Ctrl]; //是FIQ_TimerB中断?
jnz L_FIQ_TimerB;
L_FIQ_PWM: //FIQ_PWM中断服务程序
R1=C_FIQ_PWM;
[P_INT_Clear]=R1; //清中断标志位
pop R1,R5 from [sp];
reti;
L_FIQ_TimerA: //FIQ_TimerA中断服务程序
[P_INT_Clear] = R1;
call F_FIQ_Service_SACM_A2000; //调用库函数
pop R1,R5 from [sp];
reti;
L_FIQ_TimerB: //FIQ_TimerB中断服务程序
[P_INT_Clear] = R1;
pop R1,R5 from [sp];
reti;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -