音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(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ī)
C51 實(shí)現(xiàn)指令陷阱的問題
    有個(gè)抗干擾的措施, 在code 的非執(zhí)行段插入陷阱的指令
入 LJMP error_server 來捕捉彈飛的 pc.

這方法在匯編好實(shí)現(xiàn), 在 c 好象比較難, 沒有想出好的辦法
大家可以好辦法,賜教幾招

2樓: >>參與討論
李冬發(fā)
嵌入?yún)R編!
 
3樓: >>參與討論
hotpower
太累
 
4樓: >>參與討論
computer00
建立一個(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
好辦法
不過, 為什么不能讓我在各個(gè)子程序間也設(shè)定陷阱呢?

6樓: >>參與討論
computer00
這樣?很有難度。最好的辦法是在硬件上下工夫,不要讓跑MCU飛了
 
7樓: >>參與討論
javie
說到底還是把閨女生好看一點(diǎn)
才好嫁的出去

8樓: >>參與討論
云中月8888
子程序陷阱
在子程序設(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
computer00為何叫電腦圈圈
似乎叫電腦蛋蛋更合適,象兩個(gè)鴨蛋,呵呵

10樓: >>參與討論
hotpower
云中月8888講得不錯(cuò),軟狗+硬狗比陷阱輕松
如果是匯編就可以任意胡作非為了,C的約束就很難實(shí)現(xiàn)陷阱功能.

而且陷阱并沒什么特點(diǎn),靠運(yùn)氣是很難保證系統(tǒng)的穩(wěn)定的.

11樓: >>參與討論
AIRWILL
云中月8888 倒是提了另外一個(gè)陷阱方式
    只是這種方式可使用程度隨著系統(tǒng)的復(fù)雜程度而降低, 而我只是想采用系統(tǒng)復(fù)雜程度不影響使用的,比較簡單的陷阱方式.
    另外, 我不認(rèn)為看門狗可以完全代替陷阱, 因?yàn)闆]有證據(jù)表明,各種 pc 彈飛的故障都能觸發(fā)看門狗.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
很簡單的KEILC 程序,高手指點(diǎn)
介紹一本單片機(jī)的C語言編程,可以簡單一些,有一些例子的謝謝
有用過ucdos下的HZK24的沒有?
請大家?guī)兔y試一下USB口的電源問題
51單片機(jī),如果vcc不給電,但io口有電壓,會(huì)對芯片有損壞嗎?
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)