在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

有幾種方式供大家更好的管理標(biāo)志位

冬至配餃子 ? 來源:最后一個bug ? 作者:bug菌 ? 2022-08-11 14:21 ? 次閱讀

嵌入式開發(fā)中難免會涉及到非常多的標(biāo)志位處理,特別是玩單片機、裸機開發(fā)的朋友,比如跟一些模塊配合聯(lián)調(diào)會遇到各種信號是否到位、成功等等狀態(tài),而這些信號大多都是bool類型,1個bit即可進行標(biāo)識。當(dāng)然如果僅僅是幾個標(biāo)志,直接拿個uint8_t的整形來進行標(biāo)識也不會影響什么,但如果特別多的話似乎就比較廢RAM了。然而為了更好的管理這些標(biāo)志位等,有個如下幾種方式供大家更好的管理這些標(biāo)志位 :

1、位域直接標(biāo)識

采用位域是管理這些標(biāo)志位比較直接且方便的方式,代碼如下所示:

pYYBAGL0n1mAVOK-AAEN0DnWL3M884.png

這些標(biāo)志位的操作無非就是置位,清零、以及讀取三種方式。

但如代碼中這樣的操作方式在語句或語義表達上還是不夠直觀。

bug菌經(jīng)常談到,代碼可以不寫注釋,不過你的每個變量、函數(shù)名稱等需要足夠的直觀,所以很多朋友習(xí)慣把這些標(biāo)志封裝起來。

2、枚舉+移位

為了更好的表達一般會對標(biāo)志位進行進一步的封裝,如下代碼所示:

pYYBAGL0n3GAK6mgAAE5yGF5gJk595.png

當(dāng)然封裝成函數(shù)是相對比較耗時的,不過代碼也會更加的易懂,如果確實容忍不了函數(shù)封裝帶來的時間消耗,把函數(shù)修改為宏代碼片段或者內(nèi)斂函數(shù)(當(dāng)然前提是編譯器支持)也是可行的。

3、宏列表

或許這里才是本文的重中之重~

以前跟大家介紹過,用宏自動化的生成各種代碼片段,以使得代碼更加的緊湊。當(dāng)然可讀性會相對降低一點,但對于重復(fù)性代碼就不需要太多考慮了。

poYBAGL0n5iARzYMAAEO0Tet6bY249.pngpoYBAGL0n56AJQIxAAEkmT32Yb4575.png

如果以前有過類似代碼處理的朋友,應(yīng)該看這段代碼還是比較輕松的吧,如果有點生疏,可以一層一層展開了解。

其主要的功能就是通過宏替換和代碼拼接符號,自動的生成通用的代碼片段,這樣做的好處就是不再需要我們在代碼中定義一大堆setflag、clrflag、getflag等函數(shù)。

通過上面的代碼當(dāng)我們向TAGLIST宏中添加一個標(biāo)識符,即可生成一系列相關(guān)的操作函數(shù)等。

這樣一方面可以及簡化代碼,同時也避免一些人工編碼帶來的錯誤。


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6065

    文章

    44934

    瀏覽量

    647693
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1391

    瀏覽量

    116908
  • 嵌入式開發(fā)
    +關(guān)注

    關(guān)注

    18

    文章

    1072

    瀏覽量

    48605
  • 裸機
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    6633
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    c語言中標(biāo)志的設(shè)置問題

    來進行標(biāo)識也不會影響什么,但如果特別多的話似乎就比較廢RAM了。然而,為了更好管理這些標(biāo)志等,個如下
    的頭像 發(fā)表于 12-18 15:37 ?2803次閱讀

    請問通信幾種方式

    請問通信幾種方式
    發(fā)表于 10-28 09:15

    存儲管理的存儲方式幾種呢?分別有何優(yōu)缺點呢

    存儲管理的存儲方式幾種呢?分別有何優(yōu)缺點呢?
    發(fā)表于 12-23 06:34

    數(shù)據(jù)的通信方式/同步方式幾種

    數(shù)據(jù)的通信方式幾種?數(shù)據(jù)的同步方式幾種
    發(fā)表于 02-28 07:31

    方品質(zhì)管理規(guī)劃

    方品質(zhì)管理規(guī)劃對方實施品質(zhì)管理是現(xiàn)代企業(yè)管理的基本做法,也是公司將長期開展的基礎(chǔ)工作,對產(chǎn)品及原輔料實施有效的
    發(fā)表于 02-01 15:08 ?29次下載

    VCD租賃管理系統(tǒng)畢業(yè)設(shè)計大家參考

    VCD租賃管理系統(tǒng)畢業(yè)設(shè)計大家參考 部分代碼如下: Save Format v3.0(19990112)@begin Unchecked@end;@begin Targets 0 "vcd.pbt";@end;D
    發(fā)表于 03-27 13:59 ?2次下載

    打印機方式

    打印機方式              方式指的
    發(fā)表于 12-29 09:49 ?1157次閱讀

    三星閃存命名規(guī)則,大家閱覽

    三星閃存命名規(guī)則,大家閱覽
    發(fā)表于 10-17 09:45 ?14次下載
    三星閃存命名規(guī)則,<b class='flag-5'>供</b><b class='flag-5'>大家</b>閱覽

    Java Map的幾種循環(huán)方式學(xué)習(xí)總結(jié)

    本文檔內(nèi)容介紹了基于Java Map的幾種循環(huán)方式學(xué)習(xí)總結(jié),參考
    發(fā)表于 03-19 15:51 ?0次下載

    電容器幾種標(biāo)志方法

    電容器是一種容納電荷的元器件,單位F,μF,MF,nF,pF。其中m代表1/1000,u代表1/1000000,n代表1/1000000000,p代表1/1000000000000。通常器件也會有一些標(biāo)志,根據(jù)電容器的標(biāo)注可以更好
    的頭像 發(fā)表于 09-04 09:40 ?4.5w次閱讀

    常用高壓電機的啟動方式哪些

    關(guān)于高壓電機,特別是大容量高壓電動機,首要成績就是電機的啟動,及電機啟動方式的選擇,電機啟動方式幾種,在這里引見幾種目前最常用的
    的頭像 發(fā)表于 08-26 17:53 ?1.2w次閱讀

    軸承跑內(nèi)圓幾種修復(fù)方式

    軸承跑內(nèi)圓幾種修復(fù)方式
    發(fā)表于 01-23 11:07 ?7次下載

    CDN加速方式幾種,它的優(yōu)勢是什么

    資源訪問速度。以下給大家介紹下CDN加速的幾種方式。 CDN幾種加速?不同地域的用戶訪問網(wǎng)站的響應(yīng)速度存在差異,為了提高用戶訪問的響應(yīng)速度
    發(fā)表于 05-19 09:55 ?1090次閱讀

    線程池的創(chuàng)建方式幾種

    的開銷。線程池的創(chuàng)建方式多種,下面將詳細介紹幾種常用的線程池創(chuàng)建方式。 手動創(chuàng)建線程池 手動創(chuàng)建線程池是通過實例化ThreadPoolExecutor類來創(chuàng)建線程池。在創(chuàng)建Threa
    的頭像 發(fā)表于 12-04 16:52 ?1228次閱讀

    工業(yè)機器人控制方式幾種

    工業(yè)機器人的控制方式多種多樣,這些方式根據(jù)作業(yè)任務(wù)的不同而有所區(qū)別。主要可以分為以下幾種:點控制方式、連續(xù)軌跡控制
    的頭像 發(fā)表于 09-04 09:31 ?2212次閱讀
    主站蜘蛛池模板: 亚洲在线a | 天天草视频 | 色婷婷综合在线视频最新 | 卡一卡二卡三国色天香永不失联 | 亚洲人成综合网站在线 | 亚洲天堂手机在线 | 国产伦子一区二区三区 | 色婷婷亚洲十月十月色天 | 国产午夜不卡在线观看视频666 | 亚洲成在人线中文字幕 | 欧美人成网站免费大全 | 欧美军同video69视频 | 日日干天天爽 | 四虎音影 | 日本a级特黄三级三级三级 日本边添边爱边摸边做边爱 | 日本黄视频在线观看 | 加勒比黑人喝羽月希奶水 | 特级黄一级播放 | 最刺激黄a大片免费网站 | 久久天天| 一区二区三区伦理高清 | 狠狠五月深爱婷婷网 | aaa在线观看高清免费 | 色偷偷av男人的天堂 | 狠狠操婷婷 | freesex欧美| 中国胖女人一级毛片aaaaa | 天堂在线观看中文字幕 | 亚洲国产精品自在现线让你爽 | 精品国产乱码久久久久久浪潮 | 亚洲天堂成人网 | 超级狂色而且免费又超好看 | 亚洲理论在线观看 | 欧美ol丝袜高跟秘书在线观看 | 人人舔人人爱 | 99久久免费精品国产免费高清 | 色老头·com 色老头成人免费综合视频 色老头久久久久 | jizjizjizjiz日本护士出水 | 在线91精品亚洲网站精品成人 | 91md天美精东蜜桃传媒在线 | 欧美精品一区视频 |