chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領(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)注

    6067

    文章

    44982

    瀏覽量

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

    關(guān)注

    8

    文章

    1392

    瀏覽量

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

    關(guān)注

    18

    文章

    1075

    瀏覽量

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

    關(guān)注

    0

    文章

    40

    瀏覽量

    6694
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    請問通信幾種方式?

    請問通信幾種方式?
    發(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 ?1170次閱讀

    三星閃存命名規(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 ?1097次閱讀

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

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

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

    工業(yè)機器人的控制方式多種多樣,這些方式根據(jù)作業(yè)任務(wù)的不同而有所區(qū)別。主要可以分為以下幾種:點控制方式、連續(xù)軌跡控制
    的頭像 發(fā)表于 09-04 09:31 ?2416次閱讀