了解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

更新于:2021年7月24日

486 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告