<noscript id="jftie"></noscript>
    <style id="jftie"><mark id="jftie"><dfn id="jftie"></dfn></mark></style>
  1. <span id="jftie"></span>
    • 国产成人精品久久一区二区,韩国精品久久久久久无码,国产精品国产高清国产av,欧美99久久无码一区人妻a片,亚洲高清码在线精品av,午夜人妻久久久久久久久,伊人热热久久原色播放www ,亚洲女教师丝祙在线播放
      你的位置:首頁 > 電源管理 > 正文

      最簡單IO驅(qū)動隱藏大智慧,有多少高材生在這栽了跟頭!

      發(fā)布時間:2015-07-09 責任編輯:echolady

      【導讀】IO驅(qū)動作為嵌入式驅(qū)動電路中最常見、最簡單的驅(qū)動,最簡單中卻隱藏大智慧,又有多少電子高材生在這栽了跟頭!本文就分享純干貨,從正反兩方面闡述IO驅(qū)動的典型案例,通過程序清單解析IO驅(qū)動的案例。

      最簡單IO驅(qū)動的智慧

      從單片機到ARM7、ARM9、Cortex-A8,從uC/OS到WinCE、Linux,GPIO驅(qū)動都是最簡單、最易編寫的驅(qū)動。但看似簡單、毫無技術(shù)含量的驅(qū)動,其是否完整?是否規(guī)范?是否安全?

      最簡單IO驅(qū)動隱藏大智慧
      典型案例

      本節(jié)將選取兩例典型案例,從反、正兩個角度進行對比。

      反方案例

      以某一源碼中XXX驅(qū)動為例,截取XXX_IOControl部分的代碼,如程序清單1所示;請留意代碼突出顯示部分。

      程序清單1

      最簡單IO驅(qū)動隱藏大智慧

      從反方案例,實現(xiàn)GPIO電平狀態(tài)的讀或?qū)懙墓δ軆H需要幾行代碼,非常簡單。

      正方案例

      如程序清單2所示,代碼截取自ZLG某核心板GPIO驅(qū)動,請留意代碼中突出顯示部分。

      程序清單2

      最簡單IO驅(qū)動隱藏大智慧
      最簡單IO驅(qū)動隱藏大智慧
      最簡單IO驅(qū)動隱藏大智慧
      最簡單IO驅(qū)動隱藏大智慧

      從正方案例,實現(xiàn)GPIO電平狀態(tài)的讀或?qū)懙墓δ軈s花費了2倍的代碼工作量,差異為何如此大?

      案例點評

      一、指針使用

      在反方案例中,函數(shù)傳遞進來的指針參數(shù)未經(jīng)判斷而直接使用,這種情況下若為空指針或野指針,則程序極可能出現(xiàn)異常甚至崩潰!

      反方案例在讀取操作后,使用“*pBytesReturned = 2;”返回實際讀取的字節(jié)數(shù),但是,該指針依然未經(jīng)判斷而直接使用!

      而正反案例則在每一項參數(shù)使用前均對參數(shù)范圍、有效性進行判斷,從根本上避免了參數(shù)異常情況的發(fā)生!

      二、錯誤提示

      在反方案例中,XXX_IOControl只是返回TRUE或FALSE,返回FALSE時應用層無從獲取或獲知是什么原因造成了“FALSE”!

      對比正方案例,在參數(shù)判斷時即開始添加錯誤提示,在return之前,調(diào)用SetLastError函數(shù),應用層則可以通過GetLastError獲取錯誤原因,允許用戶更快速、準確的定位錯誤點。

      三、注釋

      反方案例函數(shù)體內(nèi)外幾乎無注釋;

      而正方案例,無論函數(shù)體內(nèi)的關(guān)鍵位置還是函數(shù)體外,均做必要、詳細的注釋說明,為程序的后期維護帶來極大的便利!

      包括最簡單的GPIO在內(nèi),驅(qū)動實現(xiàn)功能非常容易,但驅(qū)動的完整性與可靠性卻蘊藏著軟件工程的大智慧。

      相關(guān)閱讀:

      解析DC-DC變換器參與電動汽車能量驅(qū)動的過程
      具備超寬輸出電壓和高功率因數(shù)的LED驅(qū)動器設計
      設計方案解讀:解析工業(yè)伺服驅(qū)動器的保護設計

      要采購LED驅(qū)動器么,點這里了解一下價格!
      特別推薦
      技術(shù)文章更多>>
      技術(shù)白皮書下載更多>>
      熱門搜索
      ?

      關(guān)閉

      ?

      關(guān)閉

      主站蜘蛛池模板: 精品国产一区二区av麻豆不卡| 怡红院精品久久久久久久高清| 精品国产一区二区av麻豆不卡 | 精品人妻系列无码专区久久| 国产偷国产偷亚洲清高孕妇| 亚洲高清成人aⅴ片777| 久久久综合香蕉尹人综合网| 国产手机在线亚洲精品观看| 插插插精品亚洲一区| 又大又长粗又爽又黄少妇毛片 | 国产亚洲精品久久久久秋| 男男车车的车车网站w98免费| 免费中文熟妇在线影片| 国产亚洲精品久久久久久国| 亚洲成av人片在线观看天堂无 | 一区二区三区高清av专区| 国产国语熟妇视频在线观看| 国偷自产一区二区免费视频| 无码日韩av一区二区三区| 国产在线精品一区二区三区不卡| 亚洲精品美女久久久久久久| 免费人成网站视频在线观看国内 | 国产日产欧洲无码视频无遮挡| 欧美69久成人做爰视频| 看国产一毛片在线看手机看 | 久久久综合香蕉尹人综合网| 女人高潮内射99精品| 国产偷国产偷亚洲清高孕妇| 久久精品国产一区二区无码| 国产精品人成视频免费vod| 午夜福利yw在线观看2020| 亚洲依依成人综合网址| 亚洲精品久久国产高清| 欧美品无码一区二区三区在线蜜桃 | 伊人蕉久中文字幕无码专区| 强奷乱码中文字幕| 日本巨大的奶头在线观看| 三男一女吃奶添下面视频| 亚洲精品久久国产高清| 亚洲另类激情综合偷自拍图片| 成 人色 网 站 欧美大片在线观看|