bigluo
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 387 個
工控威望: 912 點
下載積分: 2724 分
在線時間: 73(小時)
注冊時間: 2007-12-14
最后登錄: 2021-05-15
查看bigluo的 主題 / 回貼
樓主  發(fā)表于: 2010-04-06 11:14
如附件所示。程序想實現(xiàn)一個看門狗,當3秒鐘的計數(shù)器時間到了后,即調用子程序P0,在子程序P0里面將C0復位。
現(xiàn)在的問題是,附件中的程序在監(jiān)視時,發(fā)現(xiàn)子程序是隨時有效的,即C0永遠處于復位狀態(tài),這是為什么?把子程序的內(nèi)容放到主程序里面的話,一切正常。
請指教。。。

bigluo
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 387 個
工控威望: 912 點
下載積分: 2724 分
在線時間: 73(小時)
注冊時間: 2007-12-14
最后登錄: 2021-05-15
查看bigluo的 主題 / 回貼
1樓  發(fā)表于: 2010-04-06 11:24
用這個就沒有問題:

wsir123
日子在忙碌中才會顯得充實,我喜歡這樣的生活。
級別: 論壇版主

精華主題: 4 篇
發(fā)帖數(shù)量: 1504 個
工控威望: 5491 點
下載積分: 24426 分
在線時間: 818(小時)
注冊時間: 2007-01-22
最后登錄: 2024-06-09
查看wsir123的 主題 / 回貼
2樓  發(fā)表于: 2010-04-07 15:46
圖片:
樓主的這個情況就像你叫一個人去10公里外游泳,結果,那人在河里玩的不回來了,你卻還讓他再去游泳,能行么?一定要讓他回來,然后,再讓他去。。。
不知這個比喻合適不?
附件: 測試.rar (10 K) 下載次數(shù):45
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
本帖最近評分記錄:
  • 下載積分:+3(bigluo) 謝謝!
  • 保持每天一點小進步足矣。。。
    bigluo
    級別: 家園常客
    精華主題: 0
    發(fā)帖數(shù)量: 387 個
    工控威望: 912 點
    下載積分: 2724 分
    在線時間: 73(小時)
    注冊時間: 2007-12-14
    最后登錄: 2021-05-15
    查看bigluo的 主題 / 回貼
    3樓  發(fā)表于: 2010-04-07 16:49
    引用
    引用第2樓wsir123于2010-04-07 15:46發(fā)表的  :
    樓主的這個情況就像你叫一個人去10公里外游泳,結果,那人在河里玩的不回來了,你卻還讓他再去游泳,能行么?一定要讓他回來,然后,再讓他去。。。
    不知這個比喻合適不?

    謝謝了!照你的方法已經(jīng)改好了。
    不過,我還是不明白為什么不能在子程序里面復位?
    wsir123
    日子在忙碌中才會顯得充實,我喜歡這樣的生活。
    級別: 論壇版主

    精華主題: 4 篇
    發(fā)帖數(shù)量: 1504 個
    工控威望: 5491 點
    下載積分: 24426 分
    在線時間: 818(小時)
    注冊時間: 2007-01-22
    最后登錄: 2024-06-09
    查看wsir123的 主題 / 回貼
    4樓  發(fā)表于: 2010-04-07 17:35
    引用
    引用第3樓bigluo于2010-04-07 16:49發(fā)表的  :

    謝謝了!照你的方法已經(jīng)改好了。
    不過,我還是不明白為什么不能在子程序里面復位?

    測試里那個m0其實就是一個在子程序里溜達了一圈的一個標志,這個標志要在主程序里call前對c0 操作一下。
    你可以把主程序里那個m0復位的和call對調一下,那個c0就一直是處于復位狀態(tài)。
    所以,子程序結尾要m0標志一下(溜達了一圈的一個標志),主程序call前要根據(jù)這個標志復位一下就可以了。
    保持每天一點小進步足矣。。。
    bigluo
    級別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 387 個
    工控威望: 912 點
    下載積分: 2724 分
    在線時間: 73(小時)
    注冊時間: 2007-12-14
    最后登錄: 2021-05-15
    查看bigluo的 主題 / 回貼
    5樓  發(fā)表于: 2010-04-07 17:43
    引用
    引用第4樓wsir123于2010-04-07 17:35發(fā)表的  :

    測試里那個m0其實就是一個在子程序里溜達了一圈的一個標志,這個標志要在主程序里call前對c0 操作一下。
    你可以把主程序里那個m0復位的和call對調一下,那個c0就一直是處于復位狀態(tài)。
    所以,子程序結尾要m0標志一下(溜達了一圈的一個標志),主程序call前要根據(jù)這個標志復位一下就可以了。

    謝謝指點。
    在我的程序里面,在C0被置位的掃描周期,應該就會進入子程序,然后,在子程序里對C0復位,這樣,下一個掃描周期時,C0就被復位了,應該就不能再進入子程序了,這樣不對嗎?