bigluo
級別: 家園常客
![]() |
如附件所示。程序想實(shí)現(xiàn)一個看門狗,當(dāng)3秒鐘的計數(shù)器時間到了后,即調(diào)用子程序P0,在子程序P0里面將C0復(fù)位。 現(xiàn)在的問題是,附件中的程序在監(jiān)視時,發(fā)現(xiàn)子程序是隨時有效的,即C0永遠(yuǎn)處于復(fù)位狀態(tài),這是為什么?把子程序的內(nèi)容放到主程序里面的話,一切正常。 請指教。。。 ![]() |
---|---|
|
wsir123
日子在忙碌中才會顯得充實(shí),我喜歡這樣的生活。
級別: 論壇版主
![]() ![]() ![]() ![]() |
圖片:
![]() 樓主的這個情況就像你叫一個人去10公里外游泳,結(jié)果,那人在河里玩的不回來了,你卻還讓他再去游泳,能行么?一定要讓他回來,然后,再讓他去。。。 不知這個比喻合適不? |
|
---|---|---|
本帖最近評分記錄:
|
bigluo
級別: 家園常客
![]() |
謝謝了!照你的方法已經(jīng)改好了。 不過,我還是不明白為什么不能在子程序里面復(fù)位? |
---|---|
|
wsir123
日子在忙碌中才會顯得充實(shí),我喜歡這樣的生活。
級別: 論壇版主
![]() ![]() ![]() ![]() |
測試?yán)锬莻m0其實(shí)就是一個在子程序里溜達(dá)了一圈的一個標(biāo)志,這個標(biāo)志要在主程序里call前對c0 操作一下。 你可以把主程序里那個m0復(fù)位的和call對調(diào)一下,那個c0就一直是處于復(fù)位狀態(tài)。 所以,子程序結(jié)尾要m0標(biāo)志一下(溜達(dá)了一圈的一個標(biāo)志),主程序call前要根據(jù)這個標(biāo)志復(fù)位一下就可以了。 |
|
---|---|---|
|
bigluo
級別: 家園常客
![]() |
謝謝指點(diǎn)。 在我的程序里面,在C0被置位的掃描周期,應(yīng)該就會進(jìn)入子程序,然后,在子程序里對C0復(fù)位,這樣,下一個掃描周期時,C0就被復(fù)位了,應(yīng)該就不能再進(jìn)入子程序了,這樣不對嗎? |
---|---|
|