0
使用F()
宏會帶來更多的RAM開銷,然後保存的短字符串是否有限制?F()是否有用的最小字符串長度?
對於(一個人爲的)例如:
Serial.print(F("\n"));
Serial.print(F("Hi"));
Serial.print(F("there!"));
Serial.print(F("How do you doyou how?"));
會那些中的任一個是不F()
更有效率?
我想象它使用一些RAM遍歷字符串並將其從PROGMEM複製到RAM。我想問題是:多少錢?此外,堆碎片在這裏是一個問題嗎?
我在純粹從SRAM保存的角度來看待這個問題。
F()宏用於存儲閃存中的字符串,完整的文檔可以參見http://playground.arduino.cc/Learning/Memory。取決於你想如何使用你的字符串,你可以考慮訪問flash或sram的速度,爲此你可以看到http://arduino.stackexchange.com/questions/221/what-can-i-do-if-i -run-外的閃存-或-SRAM。 – user1929959
@ user1929959「完整文檔」在'F()'宏上有完整的一個句子。我在我的問題中明確指出「我純粹從SRAM保存的角度來看待這個問題」。 – frnhr
唯一正確的答案是*它取決於*因此,這是題外話題:基於意見和太寬泛,解釋如何配置文件將採取超過答案框允許的。 –