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