了解Arduino Uno的内存类型
Arduino Uno,或任何其他微控制器,通常具有三种类型的内存:
Flash闪存
这是存储Arduino程序草图的地方。
使用PROGMEM或F()宏定义的任何变量也存储在此处。请注意,此类变量默认情况下是不可变的,即其值在运行时无法更改。
Flash闪存是非易失性存储器(即,即使电源关闭后,存储的内容也不会丢失)。
它的访问速度比SRAM慢,但由于它的尺寸比SRAM大得多,因此可以在这里存储一些不可变的字符串/数组以避免SRAM溢出。
它通常具有10,000次读/写循环。
SRAM静态随机存取存储器
这是创建、存储和操作程序草图中普通变量的地方。
SRAM是易失性存储器,即一旦电源关闭,存储的内容就会丢失。
SRAM访问速度非常快。
它实际上具有无限的读/写访问权限。
EEPROM电可擦除可编程只读存储器
与Flash闪存一样,EEPROM也是一种非易失性存储器。
EEPROM可用于存储长期信息,而不管Flash闪存中的程序草图如何(例如,要在不同的程序草图中使用的某些配置变量)。
在所有三种内存类型中,EEPROM的访问速度最慢。
它通常具有100,000次读/写循环。
Arduino Uno使用ATmega328P,其规格如下:
Flash闪存 − 32 kb
SRAM − 2 kb
EEPROM − 1 kb
广告