|
|||||||||||
| 技術(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 |
C51 實(shí)現(xiàn)指令陷阱的問題 |
| 作者:AIRWILL 欄目:單片機(jī) |
有個(gè)抗干擾的措施, 在code 的非執(zhí)行段插入陷阱的指令 入 LJMP error_server 來捕捉彈飛的 pc. 這方法在匯編好實(shí)現(xiàn), 在 c 好象比較難, 沒有想出好的辦法 大家可以好辦法,賜教幾招 |
| 2樓: | >>參與討論 |
| 作者: 李冬發(fā) 于 2006/1/9 1:11:00 發(fā)布:
嵌入?yún)R編! |
|
| 3樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/9 1:49:00 發(fā)布:
太累 |
|
| 4樓: | >>參與討論 |
| 作者: computer00 于 2006/1/9 15:13:00 發(fā)布:
建立一個(gè)數(shù)組嘛,用關(guān)鍵詞code修飾的數(shù)組。。。 直到ROM塞滿為止。不過LJMP為三字節(jié)指令,所以剛好碰上的概率為1/3。 不過,如果把錯(cuò)誤捕捉處理入口地址設(shè)定在0x0202處的話。。。。。 如此: code unsigned CHAR LJMP_0x0202[]={ 0x02,0x02,0x02,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02 }; 一直寫寫寫寫……寫到你的ROM滿了為止。 * - 本貼最后修改時(shí)間:2006-1-9 15:29:16 修改者:computer00 |
|
| 5樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/1/9 17:31:00 發(fā)布:
好辦法 不過, 為什么不能讓我在各個(gè)子程序間也設(shè)定陷阱呢? |
|
| 6樓: | >>參與討論 |
| 作者: computer00 于 2006/1/9 18:45:00 發(fā)布:
這樣?很有難度。最好的辦法是在硬件上下工夫,不要讓跑MCU飛了 |
|
| 7樓: | >>參與討論 |
| 作者: javie 于 2006/1/9 18:48:00 發(fā)布:
說到底還是把閨女生好看一點(diǎn) 才好嫁的出去 |
|
| 8樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/9 20:27:00 發(fā)布:
子程序陷阱 在子程序設(shè)置標(biāo)志. .... func1() { if( BiaoZhi!=1) err(); else { .... } } func2() { if( BiaoZhi!=2) err(); else { .... } } .... main() { .... BiaoZhi=1; func1(); BiaoZhi=0xff; ... BiaoZhi=2; func2(); BiaoZhi=0xff; .... } 不過,watchdog如果用好了,比陷阱管用! |
|
| 9樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/1/9 20:37:00 發(fā)布:
computer00為何叫電腦圈圈 似乎叫電腦蛋蛋更合適,象兩個(gè)鴨蛋,呵呵 |
|
| 10樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/9 20:41:00 發(fā)布:
云中月8888講得不錯(cuò),軟狗+硬狗比陷阱輕松 如果是匯編就可以任意胡作非為了,C的約束就很難實(shí)現(xiàn)陷阱功能. 而且陷阱并沒什么特點(diǎn),靠運(yùn)氣是很難保證系統(tǒng)的穩(wěn)定的. |
|
| 11樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/1/10 11:58:00 發(fā)布:
云中月8888 倒是提了另外一個(gè)陷阱方式 只是這種方式可使用程度隨著系統(tǒng)的復(fù)雜程度而降低, 而我只是想采用系統(tǒng)復(fù)雜程度不影響使用的,比較簡單的陷阱方式. 另外, 我不認(rèn)為看門狗可以完全代替陷阱, 因?yàn)闆]有證據(jù)表明,各種 pc 彈飛的故障都能觸發(fā)看門狗. |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |