📄 capture3.c
字号:
#include <f2407.h>
void interrupt capint3();
void interrupt nothing();
unsigned int Width3,Jump3=0;
/*捕捉中断服务程序*/
void interrupt GISR4()
{
if(PIVR==0x0035)
capint3();
if(PIVR==0x0038)
capint6();
return;
}
void interrupt capint3()
{
unsigned int flag,save,w3;
flag=EVAIFRC&0X0004; /* 判断是否是CAP3中断*/
if(flag=0x0004)
{
save=Jump3;
Jump3=CAP3FIFO; /* 如果是CAP3中断,则装载捕捉值*/
if(Jump3>=save)
{
w3=Jump3-save;
}
else
{
w3=65535-save+Jump3;
}
if(w3<=500) Width3=w3;
EVAIFRC=EVAIFRC|0x0004; /* 写"1"清除CAP3中断标志*/
asm(" clrc INTM"); /* 返回前开中断*/
return; /* 中断返回*/
}
asm(" clrc INTM"); /* 返回前开中断*/
return; /* 如果不是CAP3中断,则直接返回*/
}
/* 若是由于干扰引起其它中断,则执行此子程序*/
void interrupt nothing()
{
asm(" clrc INTM"); /* 返回前开中断*/
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -