quote:以下是引用水星上的来客在2010-09-17 14:52:22的发言:
我在初始化里面使能了I0.0的上升沿中断,然后在中断里面用一条SM0.0后面连Q0.0的线圈输出,奇怪的是I0.0上升沿到来时QO.O输出,然后就一直保持住了.按照我的理解应该是QO.O只动作一个扫描周期.请各位指教.
中断程序的执行是和主程序没有关系的,它只有在中断事件发生时,它就执行,你说的你仅仅是在初始化里面用了I0.0的上升沿中断,如果你在外部没有动作I0.0的上升沿,中断程序就永远不会被执行的。 但是你如果动作了I0.0的上升沿,中断程序马上就执行,就像你说的q0.0一直为1,因为在中断程序里面SM0.0是一直为1的,所以Q0.0就一直为1,呵呵。如果你再启动I0.0的下降沿中断使Q0.0复位,Q0.0就为0了。。。。你试试吧.记住,中断程序是由操作系统调用的,而不是由主程序调用的。