2013-11-23 41 views
0

我使用Arduino IDE編寫代碼,並試圖瞭解命名空間的東西。 我的想法是,有沒有辦法縮短很多地方(在我的代碼),我有事情,如:Arduino如何使用命名空間?

Serial.print("a="); Serial.print(a); Serial.print(" b="); Serial.println(b); 

的東西更短,如:

S.print(... 

sprint(... 

可以這樣做嗎?

我嘗試使用字符串連接,但它是非常有限和昂貴的。這只是增加一個

String s; 

我的代碼在全球級增加了1482字節的下載大小。而且你不能這樣做:

Serial.print("a=" + a); Serial.println(" b=" + b); 

因爲它不能處理開始與文字字符串的連接。

任何想法的歡迎。

回答

4

Arduino使用C++語言。 It is not considered good practice,但你可以使用預處理宏:

#define sprint Serial.print

+0

謝謝。是的,就在我的帖子後,我也發現了#define。它有很多幫助。 – Harvey

-1

你可以用一個指針和成員去參考操作,這樣的:

HardwareSerial *my_device; 

void setup() 
{ 
    my_device->begin(9600); 
    delay(100); 
} 

void loop() 
{ 
    if (my_device->available()) 
    { 
    int r = my_device->read(); 
    // etc. 
    } 
} 
+0

對不起,問題是關於保持代碼簡短,我的anwser不適用於這種情況。雷納託 –