|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
看門狗復(fù)位以后,怎么恢復(fù)到以前的運(yùn)行狀態(tài)? |
| 作者:senny 欄目:單片機(jī) |
各位大哥,小弟想請(qǐng)教一下,看門狗復(fù)位以后怎么判斷(或恢復(fù)以前的運(yùn)行狀態(tài)呢?) 我是用通過按鈕信號(hào)給單片機(jī),然后單片機(jī)在接到按鈕信號(hào)以后,在輸出引腳上給輸出繼電器上電,運(yùn)行。 在運(yùn)行中,如果看門狗動(dòng)作,那么所有端口都是復(fù)位狀態(tài),按鈕信號(hào)已不再保持,這樣就造成了意外停機(jī)。 有什么好的辦法可以恢復(fù)呢? 謝謝! |
| 2樓: | >>參與討論 |
| 作者: senny 于 2006/10/10 13:52:00 發(fā)布:
我的意思怎么在看門狗復(fù)位后 判斷復(fù)位前是運(yùn)行狀態(tài)還是待機(jī)狀態(tài)。 如果是待機(jī)狀態(tài)復(fù)位以后在沒有外指令的話,發(fā)生運(yùn)行指令,那事故就更加嚴(yán)重。 |
|
| 3樓: | >>參與討論 |
| 作者: wudeyi 于 2006/10/10 14:18:00 發(fā)布:
一般 單片機(jī)復(fù)位后它的數(shù)據(jù)區(qū)不會(huì)變。 |
|
| 4樓: | >>參與討論 |
| 作者: lenglx 于 2006/10/10 15:29:00 發(fā)布:
用鎖存器 繼電器輸出你可以采用鎖存器,這樣不至于被看門狗復(fù)位改變繼電器的狀態(tài). 至于按鍵信息,你可以保存在RAM中,看門狗復(fù)位,RAM中的數(shù)據(jù)還在. 只不過你需要修改STARTUP.A51文件.否則這個(gè)默認(rèn)的啟動(dòng)文件會(huì)將你的RAM中的所以數(shù)據(jù)清零. |
|
| 5樓: | >>參與討論 |
| 作者: senny 于 2006/10/10 15:35:00 發(fā)布:
我的初步想法是 外擴(kuò)一片寄存器(或RAM)。 建立一個(gè)標(biāo)志位,每次運(yùn)行時(shí)先寫標(biāo)志位。然后送運(yùn)行信號(hào)。 停止時(shí)毅然,先擦除標(biāo)志位再發(fā)停止指令。 狀態(tài)寄存器隨上電復(fù)位一起復(fù)位,但不隨看門狗復(fù)位,不知這樣是否可靠。 如果內(nèi)部RAM不隨主復(fù)位一起復(fù)位的話,那么是否可以在內(nèi)部RAM建一個(gè)狀態(tài)區(qū),但是復(fù)位狀態(tài)怎么判斷呢? 不知一般這種情況都怎么處理。 有看門狗的系統(tǒng)很多啊。 不知各位一般都怎么處理看門狗動(dòng)作以后怎么返回到現(xiàn)場狀態(tài)。 謝謝 |
|
| 6樓: | >>參與討論 |
| 作者: senny 于 2006/10/10 15:52:00 發(fā)布:
謝謝兩位回復(fù)的大哥。 偶心里有數(shù)了。 準(zhǔn)備用鎖存器,上電復(fù)位鎖存器一起復(fù)位,看門狗復(fù)位只復(fù)MCU,復(fù)位以后查詢鎖存器狀態(tài),如果不在運(yùn)行狀態(tài),則不與考慮,等待運(yùn)行信號(hào)。如果在運(yùn)行狀態(tài),則按運(yùn)行狀態(tài)去工作。 謝謝! |
|
| 7樓: | >>參與討論 |
| 作者: conwh 于 2006/10/10 16:52:00 發(fā)布:
建立進(jìn)程狀態(tài)字 |
|
| 8樓: | >>參與討論 |
| 作者: hyunfei 于 2006/10/10 19:38:00 發(fā)布:
我建議用X5045,內(nèi)部有RAM,在里邊建一個(gè)狀態(tài)位就可以 |
|
| 9樓: | >>參與討論 |
| 作者: hyunfei 于 2006/10/10 19:42:00 發(fā)布:
X5045也是看門狗復(fù)位集成電路 |
|
| 10樓: | >>參與討論 |
| 作者: senny 于 2006/10/10 20:23:00 發(fā)布:
X5045是EEPROM,擦寫次數(shù)有限制的! 用正在嘗試用鎖存器,我覺得是個(gè)不錯(cuò)的選擇。 |
|
| 11樓: | >>參與討論 |
| 作者: 平常人 于 2006/10/10 22:29:00 發(fā)布:
樓上的人怎么竟出歪招呢?根本不用加任何外部器件,看門狗不貪吃 看門狗只負(fù)責(zé)看門復(fù)位,它決不貪吃,CPU中的絕大部分內(nèi)容都不會(huì)變,包括片內(nèi)RAM和CPU的寄存器,你盡可用程序變量紀(jì)錄系統(tǒng)的運(yùn)行狀態(tài),看門狗復(fù)位后通過查詢這些變量決定下一步動(dòng)作。 |
|
| 12樓: | >>參與討論 |
| 作者: senny 于 2006/10/11 7:16:00 發(fā)布:
哈哈,掉進(jìn)胡同里了。 按樓上大哥的說法,看門狗復(fù)位只是把PC指針復(fù)到0000H是嗎? 其他的不受影響,是嗎? 我是89C52單片機(jī),用的是外部看門狗,看門狗用的是ADM706。 |
|
| 13樓: | >>參與討論 |
| 作者: 平常人 于 2006/10/11 8:12:00 發(fā)布:
去看看單片機(jī)的手冊(cè)中,有關(guān)復(fù)位后CPU中各部分的默認(rèn)復(fù)位值 哪個(gè)單片機(jī)的默認(rèn)復(fù)位狀態(tài)中有RAM的默認(rèn)復(fù)位值是清零或其他值?CPU中的寄存器也不會(huì)在復(fù)位時(shí)清除,只有那些片內(nèi)外設(shè)的寄存器會(huì)被復(fù)位成特定的值。 |
|
| 14樓: | >>參與討論 |
| 作者: zhujing03 于 2006/10/11 10:29:00 發(fā)布:
看門狗復(fù)位以后,怎么恢復(fù)到以前的運(yùn)行狀態(tài)? 提個(gè)醒;看門狗復(fù)位叫熱復(fù)位,雖然內(nèi)部寄存器數(shù)據(jù)不丟失,但端口是要復(fù)位的,不知你是要從復(fù)位前狀態(tài)接著運(yùn)行還是重新開始。要是接著運(yùn)行你必須保存現(xiàn)場并在復(fù)位后查詢。要重新開始就無所謂了。 |
|
| 15樓: | >>參與討論 |
| 作者: senny 于 2006/10/11 11:25:00 發(fā)布:
謝謝! 致樓上: 當(dāng)然是接著運(yùn)行,不然就是非正常停機(jī),這是不允許的。 所以,我想,鎖存器無論如何也少不了的。 熱復(fù)位以后查詢寄存器的狀態(tài)。 |
|
| 16樓: | >>參與討論 |
| 作者: yuands 于 2006/10/25 23:05:00 發(fā)布:
熱復(fù)位以后查詢RAM中記錄的狀態(tài) |
|
| 17樓: | >>參與討論 |
| 作者: conwh 于 2006/10/26 0:48:00 發(fā)布:
還沒有搞定? |
|
| 18樓: | >>參與討論 |
| 作者: zhiwei 于 2006/10/26 17:48:00 發(fā)布:
這樣也不大可靠 如果是程序跑飛引起的看門狗復(fù)位,則在跑飛后系統(tǒng)運(yùn)行了不該運(yùn)行的程序塊,使用了相關(guān)內(nèi)存,也可能造成內(nèi)存改寫,所以不能一概而輪,呵呵 |
|
| 19樓: | >>參與討論 |
| 作者: zgl7903 于 2006/10/26 22:37:00 發(fā)布:
看門狗復(fù)位以后,怎么恢復(fù)到以前的運(yùn)行狀態(tài)? 那就是不用看門狗,以前的狀態(tài)就是看門狗就要?jiǎng)幼,恢?fù)到前面的狀態(tài),還是看門狗就要?jiǎng)幼鳎h(huán)往復(fù) :)純屬灌水 每到關(guān)鍵節(jié)點(diǎn),記錄當(dāng)前狀態(tài)和重要參數(shù),復(fù)位后檢測和恢復(fù)這些狀態(tài)和參數(shù),關(guān)鍵就是要保護(hù)好這些數(shù)據(jù) |
|
| 20樓: | >>參與討論 |
| 作者: stycx 于 2006/10/26 22:46:00 發(fā)布:
那就不能用看門狗了 同意樓上的,請(qǐng)樓主再查查看門狗的作用和運(yùn)作原理、動(dòng)作條件 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |