如果有什麼方法可以在編譯時向Arduino預處理器發出Halt/Abort信號?arduino中的預處理器聲明
我對一般的高級預處理指令不是很熟悉,但是我發現在某些編譯器中有編譯時斷言的'庫'。
背景:
爲了防止重複引腳分配在代碼中我創建了一個枚舉,以確定每個引腳
enum DataPins
{
/* 00 */ UNUSED_00,
/* 01 */ UNUSED_01,
/* 02 */ PIN_IN_SNR0_ECHO,
/* 03 */ PIN_IN_SNR1_ECHO,
...
/* 53 */ UNUSED_53,
/* check */ z_DONOTUSE54
};
然後我想檢查的最終名稱以確保它在編譯時有正確的值:
#define PinsOK z_DONOTUSE54==54
有沒有辦法在編譯時評估這個?如果是這樣,那麼基於這個結果,我可以在Arduino中發出編譯時錯誤嗎?
謝謝。作爲一個新問題,這可能會更好,但是現在我確定答案是否定的:在編譯時是否有任何可以通過concievable驗證枚舉的方法? – Derrick 2013-02-15 15:17:46
您正試圖檢查所有54個引腳是否已定義。如果您明確定義枚舉值,您是否在意是否存在差距? – jdr5ca 2013-02-16 06:28:23
我不在乎差距,我只是試圖找到一種強制執行的方式,即不能給出同一個引腳號碼兩個不同的名稱。您添加的信息很有幫助,更清潔:謝謝! – Derrick 2013-02-19 15:05:56