標題: stc89c52單片機可以在代碼中重啟嗎? [打印本頁]

作者: censv    時間: 2022-11-23 23:03
標題: stc89c52單片機可以在代碼中重啟嗎?
stc89c52可以在代碼中重啟嗎?多謝回復(fù)
作者: 人中狼    時間: 2022-11-23 23:29
重啟代表從頭開始咯哦
作者: Hephaestus    時間: 2022-11-23 23:51
必須利用看門狗等硬件實現(xiàn)重啟,簡單的跳轉(zhuǎn)到復(fù)位向量是無意義的。
作者: 188610329    時間: 2022-11-24 00:09
ISP_CONTR = 0x20;
作者: Longan.Wang    時間: 2022-11-24 09:23
你可以啟用看門狗,假設(shè)設(shè)置WDT 100ms溢出,正常程序保證喂狗間隔在100ms以內(nèi)。
如果你想用代碼復(fù)位,那么復(fù)位代碼可以這樣寫:
void soft_rest(void) {
    while (1){}
}
只要一調(diào)用這個函數(shù),那么再也不能喂狗了,WDT溢出后,馬上就復(fù)位了。
作者: man1234567    時間: 2022-11-24 09:25
ISP_CONTR=0x60; //軟復(fù)位,從ISP監(jiān)控區(qū)啟動
ISP_CONTR=0x20; //軟復(fù)位,從用戶程序區(qū)啟動
自己勾一下 Reset 腳......


作者: censv    時間: 2022-11-24 10:43
188610329 發(fā)表于 2022-11-24 00:09
ISP_CONTR = 0x20;

多謝回復(fù),解決了我的問題,
作者: wjhhhhh    時間: 2022-11-24 14:27
man1234567 發(fā)表于 2022-11-24 09:25
ISP_CONTR=0x60; //軟復(fù)位,從ISP監(jiān)控區(qū)啟動
ISP_CONTR=0x20; //軟復(fù)位,從用戶程序區(qū)啟動
自己勾一下 Rese ...

請教: 勾一下 Reset 腳  是在下載程序的時候,勾選那個特定IO口為復(fù)位腳嗎? 或者其他操作? 謝謝
作者: zh_junwei    時間: 2022-11-25 15:00
可以,就是讓程序跳到開始的地方




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1