如何在 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() 宏的新方法之间的区别。


相关文章