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