|
本帖最后由 rjx 于 2014-11-10 17:59 编辑
在一个应用程序中,要在几个不同的场合调用INT0中断,但每个场合的实参不同,在主函数中能否分不同场合调用?如这个编码器计数的程序:
#define ROTATE_A PIND.2
#define ROTATE_B PIND.3
char W = 0;
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr_1(char min,char max)
{
if(ROTATE_A!=ROTATE_B)
{ if(max<=max)
++W;
else
W=max;}
else
{if(W>min)
--W;
else
W=0;}
}
interrupt [EXT_INT0] void ext_int0_isr_2(uchar min,uchar rmax)
{
if(ROTATE_A!=ROTATE_B)
{ if(max<=max)
++W;
else
W=max;}
else
{if(W>min)
--W;
else
W=0;}
}
void main(void)
{
..........
interrupt [EXT_INT0] void ext_int0_isr_1(0,4096);
.........
interrupt [EXT_INT0] void ext_int0_isr_2(0,256)
.......
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|