[英]Putting variable in string (arduino)
我想為arduino項目編寫一個函數,但是有一些問題。
char telephone_number = 111232113;
Serial.println("AT+CMGS=\"telephone_number\"\r");
控制台向我顯示了AT+CMGS="telephone_number"
但我希望顯示的不是AT+CMGS="111232113"
。
有可能以這種形式嗎? 我是編程新手,我不知道該如何管理。
不要使用String
。 誘人的易用性,但最終您會后悔的。 :-(它們速度較慢,使用更多的RAM,並增加了1.6k的程序大小。只需堅持使用普通的舊C字符串,也稱為char
數組。
您可以將打印語句分為三個部分:
char telephone_number[] = "111232113";
Serial.print( "AT+CMGS=\"" );
Serial.print( telephone_number );
Serial.println( "\"\r" );
通過在雙引號字符串的打印周圍使用F
宏,可以節省更多的RAM空間:
char telephone_number[] = "111232113";
Serial.print( F("AT+CMGS=\"") ); // Saves 10 bytes of RAM
Serial.print( telephone_number );
Serial.println( F("\"\r") ); // Saves 3 bytes of RAM
在這樣的任何地方打印雙引號的字符串,只需用F
宏將其包裝即可。
順便說一句,我假設電話號碼不是一個常數,所以您需要將其保留在RAM中,如此處所示的char
數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.