色爱av综合网_色女人在线视频_男男gaygays亚洲_日本高清久久一区二区三区

購物車0種商品
IC郵購網-IC電子元件采購商城
55AA+外部看門狗的檢測方法技巧和代碼注解
(2011/10/16 9:56:00)
volatileunsignedintSystemRamTest;

voidSystemInit(void)
{
PortInit();
TimerInit();
//.......
WdtTest();//測試外部看門狗
}

voidPortInit()
{
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
}

voidWdtTest()
{
WdtClr();//喂外狗
if(SystemRamTest!=0x55aa)
{//上電復位可認為SystemRamTest是隨機且不可能為0x55aa(概率幾乎為0)
LedInit(1);//上電復位,初始化Led全亮,這樣在外狗壞時常亮!!!
Delay100mS();//這里要用軟件延時,因為這里還未開中斷
XBYTE[0x0200]=0x77;//復位DSP
XBYTE[0x1000]=0x04;//寫板型,上報PC
SystemCommand=0;//復位系統命令,但只有在上電時1次復位
SystemRamTest=0x55aa;//設置上電復位結束及RAM測試標志
while(1);//等待外部看門狗復位,測試外部看門狗喂狗硬件引腳
}
else
{//外部看門狗復位測試通過,外狗器件完好
LedInit(0);//軟件或看門狗復位,初始化Led全滅,外狗好時Led閃爍1次!!!
}
}

voidmain()
{
IE=0;//關中斷
_start_();//啟動時執行2次RETI
SystemInit();
while(1)
{
EA=1;//開中斷
WdtClr();//喂狗
TaskMain();//主任務
PCON|=IDL_;//進入空閑狀態
}
}

本貼由菜農提供"技巧"答謝諸位"狗友"~~~,轉貼請注明出處(雁塔菜地)
HotPower@126.com2009.1.16于雁塔菜地


網友評論:只要有手段復位,則跑飛前的一部分寄存器的狀態本身不會被破壞。

但是由于復位,特別是硬件復位,那么內部模塊被初始化為默認狀態。

所以為了恢復,如P1口內容,則必須采用緩沖驅動思路,

即為P0口設置緩存寄存器Port1,再根據Port1來驅動P1.

這樣就解決了復位后,由于Port1未變化,所以主循環前即可恢復P1






網友評論:當程序飛后,內部模塊可能都亂了~~~

假定你根本未使用T2,那么你就不會考慮T2的初始化問題。

假定軟件復位沒進行ET2=0,TR2=0,且未未在T2Isr處加reti

則EA=1后,若跑飛時ET2=1,TR2=1,后果可知~~~

所以忠告大家:

初始化一定要徹底,一切系統資源都要初始化,哪怕未用!!!

有硬件看門狗時,最好while(1)自毀~~~

這樣可對自己的有用模塊再初始化,切記:所有中斷向量表(程序)

無用的都應該用reti.

網友評論:大致應該這樣(測試速度比23樓快):
#defineSOFT_DOG_TIMEXX//xx小于硬件狗溢出時間的一半
volatilebitflg_soft_dog=1;//注意加volatile,好像Keil的bit不需要
main()
{
...
while(1)
{
...
//-----------------
flg_soft_dog=1;
//-----------------
...
}
}

time_interrupt()//通用定時器
{
staticucharsoft_dog_timer=0;//應該用局部變量,最好少用全局變量
...
//--------------------------
if(flg_soft_dog)
{
flg_soft_dog=0;
soft_dog_timer=0;
}
else
{
soft_dog_timer++;
if(soft_dog_timer>=SOFT_DOG_TIME)
{
soft_dog_timer=0;
soft_reset();//軟件復位
}
//--------------------------
}
...
}


網友評論:如果不小心讓T2跑起來中斷了,光有RETI,清不了中斷標志,那將一直處于中斷狀態,
主程序每次只有執行一條指令的機會...結果就是系統變得很慢...

所以不用的中斷最好是在里面做錯誤處理,檢測到誤中斷干脆倒塌掉重新來過更爽...

網友評論:21ic的技術氛圍已經看不見了。。。

俺不缺褲子!!!

俺認為有質量和技巧的應該送褲子,但絕非人情!!!

每個論壇都有精華版貼,這應該是真正的精華。

這樣人們可以省去看水貼的時間。

網友評論:其實匠人也挺不容易的...

網友評論:而不是洪七公

網友評論:雖然說了是“送”,但那只是匠人戲言,并非真的徇私。大嬸你收也得收,不收也得收。

另外:說到褲子的問題,其實匠人以前也解釋過。斑竹加褲確實會因為各種原因而發生遺漏現象。這些原因包括:

1、遺漏、沒有看到。畢竟斑竹也不是24小時值班的。

2、眼拙、沒有領會帖子的奧秘。這是因為斑竹的技術并不能覆蓋全部領域,會在掌握評判的標準時會有出入。

3、有些相同內容的帖子發得過于分散了,容易遺漏。比如前幾天白沙兄一連發了十來個程序帖,匠人當時雖然幫他加了酷,但還是指出這種發貼方式不好。不利于讀者閱讀。最好的方法是,在一個主題貼下跟帖連發。


斑竹也確實有過把一些不是太精華的帖子設為酷貼。這一般是出于以下考慮:

1、鼓勵新人

2、鼓勵某些領域的討論


對hotpower大嬸,匠人加酷從不吝嗇。并且也很誠心。大嬸的“人情說”倒是反而有點見外了。

望大嬸理解。

網友評論:同時希望給版主寫出加酷理由~~~

不為本貼,只為以后~~~

網友評論:“staticucharsoft_dog_timer=0;//應該用局部變量,最好少用全局變量”

在這里,應該都是開辟一個單元存儲吧,有什么不同呢?


網友評論:當1個變量只在某個函數中一直生存,就應該用靜態局部變量。
這樣變量名的選擇余地大且可和其他全局變量重名。


網友評論:謝謝大叔,00.以前都用匯編,用C后,從來沒有定義過靜態變量。

網友評論:這樣?

#defineSOFT_DOG_TIMEXX//xx小于硬件狗溢出時間的一半
bitflg_soft_dog=0;

main()
{
...
while(1)
{
...
//-----------------
flg_soft_dog=0;
//-----------------
...
}
}

time_interrupt()//通用定時器
{
...
//--------------------------
if(flg_soft_dog)
{
soft_reset();//軟件復位
}
else
{
flg_soft_dog=1;
}
//--------------------------
...
}

1.ucharsoft_dog_timer=0;
因為它同時在主程序和中斷中應用,故應該添加volatile修飾符。
可能Keil無事,但其他編譯器未必。

2.實際soft_dog_timer根本無用!!!
這個程序實際為:

#defineSOFT_DOG_TIMEXX//xx小于硬件狗溢出時間的一半
bitflg_soft_dog=0;
ucharsoft_dog_timer=0;
main()
{
...
while(1)
{
...
//-----------------
flg_soft_dog=0;
//-----------------
...
}
}

time_interrupt()//通用定時器
{
...
//--------------------------
soft_dog_timer++;
if(soft_dog_timer>=SOFT_DOG_TIME)
{
soft_dog_timer=0;
}
if(flg_soft_dog)
{
soft_reset();//軟件復位
}
else
{
flg_soft_dog=1;
}
//--------------------------
...
}

實際根本用不成~~~



網友評論:俺一般程序中的通用定時器設置為1毫秒中斷。中斷處理各種事件,程序中的軟件復位處理只是其中一項任務。

如果軟件看門狗溢出時間設置為20毫秒,哪么SOFT_DOG_TIME=20;

網友評論:這樣?

#defineSOFT_DOG_TIMEXX//xx小于硬件狗溢出時間的一半
bitflg_soft_dog=0;
ucharsoft_dog_timer=0;
main()
{
...
while(1)
{
...
//-----------------
flg_soft_dog=0;
//-----------------
...
}
}

time_interrupt()//通用定時器
{
...
//--------------------------
soft_dog_timer++;
if(soft_dog_timer>=SOFT_DOG_TIME)
{
soft_dog_timer=0;
}
if(flg_soft_dog)
{
soft_reset();//軟件復位
}
else
{
flg_soft_dog=1;
}
//--------------------------
...
}





網友評論:現在一直找不到方向啊……

網友評論://--------------------------
soft_dog_timer++;
if(soft_dog_timer>=SOFT_DOG_TIME)
{
soft_dog_timer=0;
if(flg_soft_dog)
{
soft_reset();//軟件復位
}
else
{
flg_soft_dog=1;
}
}
//--------------------------


網友評論:哈哈,有趣

不怕一萬,就怕萬一.
{//上電復位可認為SystemRamTest是隨機且不可能為0x55aa}
萬一上電時SRAM中就是55AA,您就無法復位DSP,寫板型了.
要再上加強筋!



網友評論:概率是1/65536,但由于工藝原因還要小得多!!


1/65536是一個確定的數字,但后面的由于工藝原因可能還要小的多就沒有什么直接證據能證明能概率能小到多少內了。。。


所以,還是本質不可靠

網友評論:軟復位的徹底性還有一個地方,怕的是有一些軟件不可訪問的寄存器。

如果有寄存器可以讀出來上次復位的原因是上電復位還是reset復位以及內部wdt復位都話就別這樣操作了,雖然說55AA概率比較小,但是也還是有的。

另,似乎沒有更好都方法了。

網友評論:再多的旁證也不能做為直接證據使用

網友評論:前幾天公司年終總結會抽獎(獲獎面50%),我們IT室9個人有8個人抽到,
誰能計算一下概率?

網友評論:不可能以真隨機數的概率出現。
要做成真隨機數發生器也不容易呀。

網友評論:復位后除了被復位的寄存器都是不變的。
而長期掉電后大部分為0的。


網友評論:哈哈,老頑童,不管你用了多少年,你如果不能從根本上證明數學概率為0,那么俺們這些愚笨之人是絕對不敢嘗試的。


250天才1次這樣的話,呵呵,這句可不太象你一向的作風啊,哪怕500天才1次,也是難消我等心理陰影啊。。。

網友評論:哈哈~~~

瀏覽:(1081)| 評論( 0 )
博文評論

  • 昵 稱:
  • 內 容:10~250個字符
  • 驗證碼: 驗證碼看不清楚?請點擊刷新驗證碼
  •                      
  • 博文分類

    熱點博文

    最新博文

    最新評論

    IC電子元件查詢
    IC郵購網電子元件品質保障

    色爱av综合网_色女人在线视频_男男gaygays亚洲_日本高清久久一区二区三区
    欧美精品久久久久久久久久| 免费观看成人www动漫视频| 亚洲欧美日产图| 欧美成人一区在线| 亚洲精品一区久久久久久| 欧美国产精品一区| 亚洲精品字幕| 国产精品自拍网站| 久久亚洲欧美国产精品乐播| 尤物yw午夜国产精品视频明星| 欧美在线精品一区| 在线日韩欧美视频| 欧美日韩精品| 久久综合一区二区| 亚洲日本va在线观看| 欧美午夜免费影院| 久久精品视频在线免费观看| 亚洲美女黄色| 国产亚洲第一区| 欧美女激情福利| 免费日韩成人| 久久野战av| 午夜亚洲影视| 亚洲永久免费视频| 99re6热只有精品免费观看| 国产一区二区三区免费不卡 | 在线精品在线| 国产欧美日韩综合精品二区| 欧美激情在线| 欧美极品aⅴ影院| 欧美精品一区视频| 欧美乱大交xxxxx| 欧美日韩成人在线播放| 欧美成人中文| 欧美日韩一区在线观看视频| 欧美三级视频在线| 国产精品普通话对白| 欧美日韩高清不卡| 欧美性开放视频| 国产精品夜色7777狼人| 国产精品亚洲激情| 国产亚洲一区二区在线观看 | 免费欧美在线| 国产一区二区成人久久免费影院| 欧美视频国产精品| 国产精品丝袜白浆摸在线| 国产日韩精品久久久| 亚洲国产精品久久精品怡红院| 亚洲日本成人在线观看| 亚洲欧美日韩精品| 欧美成人精品福利| 国产欧美日韩另类视频免费观看| 国内激情久久| 中日韩视频在线观看| 久久成人免费日本黄色| 欧美经典一区二区| 国产美女扒开尿口久久久| 一区二区亚洲欧洲国产日韩| 亚洲精品久久嫩草网站秘色| 久久国产夜色精品鲁鲁99| 欧美国产极速在线| 国产精品乱码| 99在线|亚洲一区二区| 欧美一区二区三区久久精品| 欧美高清免费| 在线视频国产日韩| 久久精品女人| 国产精品日韩电影| 亚洲视频在线二区| 欧美日韩成人在线播放| 亚洲国产老妈| 欧美国产在线视频| 亚洲人成在线免费观看| 久久久www| 在线观看一区| 美女性感视频久久久| 在线观看精品| 久久综合久久综合久久| 在线免费观看一区二区三区| 老**午夜毛片一区二区三区| ●精品国产综合乱码久久久久| 欧美专区在线| 精东粉嫩av免费一区二区三区| 欧美一区日本一区韩国一区| 亚洲风情亚aⅴ在线发布| 久久久午夜视频| 亚洲精品永久免费| 国产精品国产三级国产| 亚洲综合激情| 国产精品免费一区二区三区在线观看 | 国产精品区免费视频| 亚洲激情自拍| 欧美日韩日日夜夜| 亚洲香蕉成视频在线观看| 国产精品毛片a∨一区二区三区| 亚洲欧美国产精品桃花| 曰韩精品一区二区| 欧美日本一区| 久久久国产成人精品| 亚洲激情一区二区三区| 欧美四级电影网站| 久久亚洲精品视频| 亚洲一区在线观看视频| 在线播放视频一区| 国产精品v欧美精品v日韩| 欧美一区二区私人影院日本| 亚洲国产精品一区二区www| 国产精品久久久久久久久久免费看 | 久久av资源网站| 99精品欧美一区| 国内精品久久久久影院薰衣草| 久久久久综合网| 99热在线精品观看| 在线视频国产日韩| 国产综合18久久久久久| 欧美午夜久久久| 欧美日韩麻豆| 欧美激情综合色综合啪啪| 久久久精品国产免大香伊| 午夜精品偷拍| 午夜在线精品| 久久国产视频网站| 久久超碰97中文字幕| 欧美一区二区在线| 欧美一区二区三区在线播放| 亚洲午夜在线视频| 亚洲制服av| 欧美一级网站| 久久久水蜜桃| 欧美激情aⅴ一区二区三区| 久久天天躁狠狠躁夜夜av| 久久躁日日躁aaaaxxxx| 美女日韩欧美| 欧美小视频在线| 国产视频一区在线| 亚洲第一福利在线观看| 亚洲美女性视频| 亚洲综合二区| 国产精品久久久久久久久免费樱桃 | 欧美极品一区二区三区| 欧美日韩在线三区| 国产精品一区免费视频| 狠狠入ady亚洲精品| 亚洲黄色免费网站| 亚洲免费一区二区| 久久天天躁狠狠躁夜夜爽蜜月| 美女999久久久精品视频| 国产精品都在这里| 亚洲黄色成人网| 性伦欧美刺激片在线观看| 老司机免费视频一区二区| 欧美日韩综合视频| 亚洲福利视频专区| 午夜日韩电影| 欧美激情一区二区三区在线视频观看| 国产精品成人播放| 亚洲国产高清在线观看视频| 欧美在线一级视频| 国产精品欧美久久久久无广告| 亚洲国产日本| 久久九九99| 国内自拍一区| 久久日韩精品| 国产日韩精品在线观看| 亚洲一区免费视频| 国产精品久久97| 亚洲私人影院在线观看| 欧美日韩在线播| 宅男66日本亚洲欧美视频| 欧美日韩免费观看中文| 在线视频你懂得一区二区三区| 欧美日韩成人一区| 亚洲午夜高清视频| 国产美女一区二区| 久久精品夜夜夜夜久久| 精东粉嫩av免费一区二区三区| 久久久久久网| 亚洲免费成人| 国产精品午夜电影| 久久精品日韩| 99精品福利视频| 国产欧美日韩亚洲| 久久影院亚洲| 亚洲一区二区三区在线观看视频| 国产精品久久久久aaaa| 久久激情五月丁香伊人| 亚洲激情欧美| 国产精品自拍小视频| 蜜臀久久99精品久久久久久9 | 亚洲图片自拍偷拍| 国内精品久久久久久久果冻传媒| 久久天堂精品| 亚洲免费在线观看| 亚洲国产精品第一区二区| 国产精品一区二区三区成人| 欧美va亚洲va日韩∨a综合色| 亚洲一区二区视频| 亚洲精品视频在线观看免费| 国产精品资源| 国产精品国产一区二区|