如何在 Arduino 中获取可用 RAM?
arduinohardwaresoftware & coding
可以使用 Arduino-MemoryFree 库来获取 Arduino 中的可用 RAM。要使用此库,请先安装它。有关在 Arduino 中安装第三方库的说明,请参阅此处:https://www.tutorialspoint.com/using-a-third-party-library-in-arduino
安装完成后,请转到:文件 & 示例 & Arduino-MemoryFree。
示例
如您所见,BareMinimum 示例名副其实,非常简洁。
#include <MemoryFree.h>;
#include <pgmStrToRAM.h>; // 新方法不需要这些,但作为参考资料很有用。
void setup() {
// 请将您的设置代码放在这里,该代码将运行一次:
Serial.begin(115200);
// 被迫编译和读取
Serial.println(getPSTR("Old way to force String to Flash"));
// 被迫编译和读取
Serial.println(F("New way to force String to Flash"));
//F 函数的功能相同,现在已成为 IDE > 1.0.0 中的内置库。
Serial.println(F("Free RAM = "));
// 打印出可用内存量。
Serial.println(freeMemory(), DEC);
// 打印出可用内存量。
}
void loop() {
// 请将你的主要代码放在这里,以便重复运行:
}
主要关注的函数是freeMemory(),它返回Arduino中可用的RAM大小(以字节为单位)。正如注释中所述,以下几行代码不再需要。
#include <pgmStrToRAM.h>;
// forced to be compiled into and read
Serial.println(getPSTR("Old way to force String to Flash"));
添加这些是为了显示将字符串存储到闪存的旧方法与使用 F() 宏的新方法之间的区别。

