lzfb99 发表于 2009-8-1 16:03:41

ISR(INT0_vect,ISR_BLOCK)中的ISR_BLOCK是什么参数?

如题,中断程序如下。
ISR(INT6_vect, ISR_BLOCK){
        unsigned char key;

        key = CPLD_read(CPLD_CMD_KEY);
        CPLD_write(CPLD_CMD_LED, key);
        PORTB ^= (1<<PB4);//??????????????????????????????????
}
这参数列表中的ISR_BLOCK是什么参数??

sleet1986 发表于 2009-8-1 16:34:28

ISR_ALIAS(INT1_vect, INT0_vect);当INT1 中断发生时就会执行INT0 的中断程序。参考一下。。

lzfb99 发表于 2009-8-1 17:00:39

1楼说的我已经知道了,可是这个和我的问题不符合。

void_c 发表于 2009-8-1 22:17:06

ISR_BLOCK是中断属性,即中断中不允许嵌套中断,
ISR(vect, ISR_BLOCK) 当于SIGNAL(vect)。

相应地,还有ISR_NOBLOCK,中断中允许嵌套中断,
ISR(vect, ISR_NOBLOCK) 当于INTERRUPT(vect)。

还有ISR_NAKED,裸中断,
ISR(vect, ISR_NAKED) 中断不保护寄存器。

lzfb99 发表于 2009-8-2 10:41:11

谢谢楼上,恍然大悟。

shuxiayinghu 发表于 2009-8-20 10:38:49

学习了!!

sleet1986 发表于 2010-2-3 11:05:58

mark。。

xunpianzhen 发表于 2010-5-11 21:34:32

明白了。。。。

ebug 发表于 2010-11-2 11:44:28

回复【3楼】void_c 上官金虹(胡文涛)
-----------------------------------------------------------------------

言简意赅啊,呵呵

peavey 发表于 2010-11-22 08:56:27

记认

小汪88 发表于 2013-5-30 14:07:18

学习了,,,,,,非常感谢
页: [1]
查看完整版本: ISR(INT0_vect,ISR_BLOCK)中的ISR_BLOCK是什么参数?