
作者:strongerHuang
微信公眾號:strongerHuang
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堆棧空間,你設(shè)置了多少?
為什么不建議使用DS-5開發(fā)STM32?
FreeRTOS如何減少RAM占用空間并加快執(zhí)行速度

長按前往圖中包含的公眾號關(guān)注