天天看點

STM32筆記(二)----程式設計優化

1)define宏定義

define是C語言中的預處理指令,它用于宏定義,可以提高源代碼的可讀性,為程式設計提供友善。常見的格式:

#define 辨別符 字元串

“辨別符”為所定義的宏名。“字元串”可以是常數、表達式、格式串等。例如:

#define SYSCLK_FREQ_72MHz 72000000   //定義辨別符 SYSCLK_FREQ_72MHz 的值為 72000000

2)ifdef 條件編譯

單片機程式開發過程中,經常會遇到一種情況,當滿足某條件時對一組語句進行編譯,而當條件不滿足時則編譯另一組語句。條件編譯指令最常見的形式為:

#ifdef 辨別符

  程式段 1

#else

  程式段 2

#endif 它的作用是:當辨別符已經被定義過(一般是用#define 指令定義),則對程式段 1 進行編譯,否則編譯程式段 2。 其中#else 部分也可以沒有,即: #ifdef

程式段 1

#endif

這個條件編譯在 MDK 裡面是用得很多的,在 stm32f10x.h 這個頭檔案中經常會看到這樣的語句:

#ifdef STM32F10X_HD

大容量晶片需要的一些變量定義

#end

繼續閱讀