zs8823
級別: 家園常客
|
圖片:
圖片:
遇到一個問題,寫了一個如圖所示的子程序,在主程序中兩次調(diào)用,但只有第一個調(diào)用有輸入輸出,第二個調(diào)用的輸入好象未傳入子程序,但輸出完全與第一個輸出同值且同步變化.不知道錯在哪里,請高手指點,CPU226. |
---|---|
|
cgyu5892483
級別: 探索解密
|
反復(fù)調(diào)用子程序時,調(diào)用計數(shù),系統(tǒng)時鐘,系統(tǒng)脈沖等指令需要慎重。 程序掃描是從左至右,從上至下,看主程序:執(zhí)行第一個調(diào)用子程序后,立馬進入下一個子程序調(diào)用,那問題就來了: LD4是輸出,并且在掃描到C100為ON時才輸出,下一步是L20.0為ON,下一步跳出第一個子程序并進入第二個子程序,此時L20.0在掃描周期內(nèi)被置位為ON,C100復(fù)位。也就是說主程序沒進入第二個周期,C100就被復(fù)位了。所以第二個子程序永遠只能讀到第一個子程序的塊輸出。 |
---|---|
|