有一程序如下:
主程序:
LD SM0.1
MOVB 10, SMB34
ATCH INT_0, 10
MOVW +0, AC1
LDW>= AC1, +32
子程序:
LD SM0.0
MOVW VW202, VW204
/I +32, VW204
MOVW +0, VW202
MOVW +0, AC1
中断程序:
LD SM0.0
MOVW AIW0, VW200
+I VW200, VW202
MOVW +0, AC1
INCW AC1
CALL SBR_0
运行后,采样一直在进行,但是采样和却为0,AC1的值一直在累加,不清零。将AC1改成VW变量程序就可以正常运行了。感觉上就是子程序中的AC1不能和中断程序共享。但手册上明明有累加器是可以在主程序和子程序中共享,也可以在中断程序和主程序中共享,难道就不可以在中断和子程序中共享?还请高手指点迷津。