www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 干貨 | 最簡單IO驅(qū)動的智慧 從單片機到ARM7、ARM9、Cortex-A8,從uC/OS到WinCE、Linux,GPIO驅(qū)動都是最簡單、最易編寫的驅(qū)動。但看似簡單、毫無技術(shù)含量的驅(qū)動,其是否完整?是否規(guī)范?是否安全? 典型案

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



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

典型案例

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

反方案例

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

程序清單1

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

正方案例

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

程序清單2

從正方案例,實現(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時應(yīng)用層無從獲取或獲知是什么原因造成了“FALSE”!

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

三、注釋

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

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

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


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

樹莓派,(英語:Raspberry Pi,簡寫為RPi,別名為RasPi / RPI)是為學(xué)習(xí)計算機編程教育而設(shè)計,只有信用卡大小的微型電腦,其系統(tǒng)基于Linux。隨著Windows 10 IoT的發(fā)布,用戶可以用上運行...

關(guān)鍵字: 樹莓派 gpio gpio編程

5G網(wǎng)絡(luò)(5G Network)是第五代移動通信網(wǎng)絡(luò),其峰值理論傳輸速度可達20Gbps,合2.5GB每秒,比4G網(wǎng)絡(luò)的傳輸速度快10倍以上。舉例來說,一部1G的電影可在4秒之內(nèi)下載完成

關(guān)鍵字: 礦井通5G 智慧

智能時代背景下醫(yī)院信息化建設(shè)是一項長期性的投入工程,其效益不可能在短期內(nèi)就展現(xiàn)出來,因此必須要確保在此方面的投入是持續(xù)的,在此方面的優(yōu)化決心是堅定的,并且將其作為醫(yī)院發(fā)展戰(zhàn)略中的重要版塊。當(dāng)前很多醫(yī)院也開始積極參與到信息...

關(guān)鍵字: 信息化 醫(yī)療 智慧

根據(jù)中國國際經(jīng)濟交流中心、國經(jīng)咨詢有限公司及中國信通院研究報告預(yù)測,2020年中國5G總投資為9000億元,2025年將達到15000億元——直接把5G打造成車聯(lián)網(wǎng)領(lǐng)域的中國優(yōu)勢。

關(guān)鍵字: 車聯(lián)網(wǎng) 汽車 智慧

英山縣中醫(yī)院介紹;英山縣中醫(yī)院是我縣一所集醫(yī)療、預(yù)防、康復(fù)、保健為一體的,突出中醫(yī)藥特色、中西并重、綜合服務(wù)的二級甲等中醫(yī)院,是英山縣城鎮(zhèn)職工、居民醫(yī)療保險、新型農(nóng)村合作醫(yī)療定點醫(yī)院,是縣殘聯(lián)殘疾鑒定指定醫(yī)療機構(gòu),湖北省...

關(guān)鍵字: 智慧 醫(yī)療系統(tǒng) 軟件

生活中的科技提升生活品質(zhì),生產(chǎn)中的科技助力產(chǎn)品提質(zhì)。依靠科技創(chuàng)新,建設(shè)低成本、廣覆蓋、高質(zhì)量的公共服務(wù)體系,實現(xiàn)優(yōu)質(zhì)資源普惠共享,科技就能造福人民、助力小康。

關(guān)鍵字: 智慧 芯片

7 月 30 日消息 根據(jù)華為官方的消息,7 月 30 日,華為智慧政務(wù)峰會 2020 成功舉辦。會上,華為發(fā)布了智慧政務(wù)解決方案,官方稱致力于讓政務(wù)服務(wù) “線下”更有速度、“線上”更有溫度。官方表

關(guān)鍵字: 華為 政務(wù) 智慧

“烽火戲諸侯”的故事我們都聽過。在烽火臺施煙點火,以傳遞信息,這其實就是最原始的光通信。 光通信是指以光波為載波的通信方式。古人只需點火即可傳遞信號,而現(xiàn)代的光通信則要復(fù)雜得多:信息發(fā)送端需要將電信號

關(guān)鍵字: 光網(wǎng) 智慧 標(biāo)桿 烽火 通信

HUAWEI AI PASS,中文名稱為“華為智卡”,致力于推動手機在行業(yè)NFC和藍牙應(yīng)用標(biāo)準(zhǔn)的建立,通過開放手機廠商的特有能力,讓合作伙伴將卡、證、鑰匙等各類憑證添加到華為錢包,為用戶提供更便捷、智

關(guān)鍵字: 智慧 標(biāo)桿 生態(tài) 行業(yè)

5G網(wǎng)絡(luò)作為通信基礎(chǔ),開啟了社會各行各業(yè)發(fā)展的新篇章。隨著5G技術(shù)的日臻成熟,相關(guān)行業(yè)持續(xù)推進5G+產(chǎn)業(yè)生態(tài),為人們的日常生活帶來更多便利。旅游行業(yè)也不例外,國內(nèi)部分文旅項目如紅旗渠景區(qū)、九寨溝景區(qū)、

關(guān)鍵字: 旅游 智慧 科技
關(guān)閉