国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一線研發(fā)之聲:嵌入式C編程經(jīng)驗 之 只有一條清狗語句

發(fā)布時間:2012-2-21 14:00    發(fā)布者:絕對好文
關鍵詞: c語言 , SedateFire , 看門狗 , 清狗
/*****************************************************************
* Filename:    研發(fā)之聲:嵌入式C編程經(jīng)驗 只有一條清狗語句
* Author:SedateFire                            E-mail:SedateFire@126.com   
* Version:1.000                                   Time: 2012-01-05   
* key: 看門狗   系統(tǒng)架構  os-less  嵌入式
********************************************************************/

一個好的os-less系統(tǒng),只有一條清狗語句,它位置就固定在main函數(shù)中的
while(1)  /* or for(;;;) */
{
          __watchdog_reset();
}

如果你有兩條以上看門狗語句,那么會有什么后果呢? 在系統(tǒng)足夠復雜的時候,很能引起當機,由于靜電或者程序自身邏輯的原因,進入了某個思維的盲點,系統(tǒng)進入一個有清狗語句的死循環(huán)里面,退不出來。這是最危險的,尷尬的,蒙羞的事情。

那么多出來的清狗語句,一般會用在哪里呢?

1.  系統(tǒng)初始化,有些設備初始化需要讀取它的反饋狀態(tài),用while,擔心復位,于是清狗。我一般用While (dev_read_status() && (i--)),這個i,32位頂天了。一般mcu沒這么快法。

2. mcu睡眠前清狗。有些人喜歡在系統(tǒng)進入睡眠前清狗一下,擔心系統(tǒng)剛好在那一刻復位。這只能說明你對自己的程序不了解,主回圈程序一圈下來,最大執(zhí)行時間其實心中有數(shù)。函數(shù)多少深度寬度心中要有低。如果剛好睡眠前一刻復位,那也有可能在跑別的函數(shù)過程中復位。

3.   某些應用邏輯貌似要需要hold住,比如屏幕的暫停顯示2秒鐘等。許多人生生地把這種邏輯做成“硬延時”,就是死等。這是一個令人戚眉的做法,因為這意味麻煩的開始。在你需要暫停顯示n秒的過程中,我的一切用戶體驗你無法響應我了,按鍵沒反應,蜂鳴器不響,led燈不閃爍,一切好像死機了一樣。等到系統(tǒng)顯示完成后,用戶心中大舒一口氣,心中懸石落地,你終于又回氣兒活過來了。這是糟糕的體驗。

好吧,為了改善體驗,許多人就想辦法來。把用戶體驗搬到中斷里面做,這是另外一個麻煩的開始,全局變量的增多和跨模塊的判斷,其根源之一始于此,弄個不好,就是隨機性崩潰。中斷程序變胖,終究是不方便的,于是為了改進,就只好在中斷程序中置標志位,然后在hold_delay(TIME)函數(shù)的循環(huán)中清狗,并且判斷標志位作響應動作。許多應用邏輯需要hold住的地方何其多,上九天下地府處處添加,函數(shù)深度不可測,邏輯遞歸難判斷,系統(tǒng)大亂的禍患就此埋下。

那如何解決呢,事件--狀態(tài)機,一句話概括,在當前狀態(tài)下,遇到某某事件,則執(zhí)行什么動作后,進入下一個狀態(tài)。它似表非表,如水般自然,像空氣般無痕……好了,其實是我不愿多講,若要具體講下去,恐怕涉及公司知識產(chǎn)權。盡管這個事件狀態(tài)機思想是個公開的秘密,原理大家都懂,但做得好的還不多見。Hold住本身就是一種狀態(tài),看你如何抽象它了。

佛曰:菩薩畏因,凡夫畏果。那災難之源,是需要敬畏戒懼的,待到結果發(fā)生,悔之莫及。
本文地址:http://m.qingdxww.cn/thread-86284-1-1.html     【打印本頁】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發(fā)培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區(qū)

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品国产专区91在线| 公和熄洗澡三级中文字幕 | 日韩精品国产自在久久现线拍| 青草草在线视频| 三级网站免费播放国语| 天天爱天天干天天| 亚洲国产99在线精品一区69堂| 一句顶一万句在线阅读| 成人性生交大片免费看中文| 久久综合色超碰人人| 羞羞答答dc视频| 欧美一区二区三区视频| 色婷婷影院| 亚洲激情欧美| 国产专区_爽死777| 午夜伦伦电影理论片费看| 天下第二社区在线视频| 人人夜| 手机国产乱子伦精品视频| 一区二区三区免费在线视频| 久久久无码精品亚洲A片软件| 王晶三级作品| 一级黄色毛片子| 日韩欧美伊人久久大香线蕉| 在线视频欧美精品| 在健身器材上做a| 内射无码AV-区二区在线观看| 亚洲精品国产一区二区贰佰信息网| 战狼4在线观看完免费完整版| 欧美亚洲大片| 欧美成人怡春院在线激情| 性久久久久久久久久久| 亚洲精品人成在线观看| 国产亚洲精品久久综合阿香蕉| 秋霞特色大片18岁入口| 欧美精品免费一区欧美久久优播 | 国产精品无码人妻在线| 最新亚洲一区二区三区四区| 欧美综合图区亚欧综合图区| 亚洲欧美啪啪| 一卡二卡卡四卡免费高清老狼|