这个问题比较复杂,求高手来解决 点击:364 | 回复:3



babaozhudalong

    
发表于:2011-08-15 16:21:08
楼主

是这样,我设置了一个交替开关,地址为4@B97。然后写了一个控制的宏

IF $601 >= $637 (Signed)
   BITON 4@B97 
ENDIF
IF $601 <= $638 (Signed)
   BITOFF 4@B97
ENDIF

然后将这个宏放在clock宏里执行,当满足IF语句的条件时,由于clock宏循环执行,于是不断的给下位机BITON 4@B97的命令,可以问题就产生了,交替按键会不断执行从off状态向on状态跳变,看上去就像闪一样。为了解决这个问题,我在前面加了一句读该位的状态的语句,防止重复命令:

$2006.0=GETB 4@B97
IF $601 >= $637 (Signed)
    IF $2006==0
         BITON 4@B97
    ENDIF
ENDIF
IF $601 <= $638 (Signed)
    IF $2006==1
         BITOFF 4@B97
    ENDIF
ENDIF
于是闪烁的问题就解决了。但是,新的问题就出现了,还有5个交替按键需要组合输出(比如满足某个IF条件就打开五个键),我写了五句读位状态的语句,加了与上面代码类似的语句之后,宏就不执行了,不知道为什么



楼主最近还看过

SSI ļʱ