瞭解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
廣告