HAL庫(kù)中do{...} while(0U)宏定義的作用和意義
作者:strongerHuang
微信公眾號(hào):strongerHuang
1寫(xiě)在前面
2
HAL庫(kù)中do{} while(0U)宏定義在HAL庫(kù)中,很多.h文件都有do{...} while(0U)這樣的宏定義,比如:在stm32f1xx_hal_rcc.h中,使能GPIO時(shí)鐘:
對(duì)比在LL庫(kù)中時(shí)鐘使能代碼,如下:
3
do{...} while(0U)宏定義的作用和意義1.編譯出錯(cuò)
不使用do{}while:
使用大括號(hào),多一個(gè)分號(hào):
使用do{...} while(0U):
大家對(duì)比以上幾種,你覺(jué)得哪一種合理?
2.避免goto跳轉(zhuǎn)語(yǔ)句帶來(lái)問(wèn)題
不使用do{}hwile(0):
使用do{}hwile(0):
大家再對(duì)比以上兩種,發(fā)現(xiàn)了什么問(wèn)題?
我這里也不再繼續(xù)舉例說(shuō)明了,大家可以上網(wǎng)了解,其實(shí)還有很多重要意義和作用。
怎么說(shuō)呢,點(diǎn)到為止,希望對(duì)你有啟發(fā)。
MCU堆棧空間,你設(shè)置了多少?
為什么不建議使用DS-5開(kāi)發(fā)STM32?
FreeRTOS如何減少RAM占用空間并加快執(zhí)行速度
長(zhǎng)按前往圖中包含的公眾號(hào)關(guān)注
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!