Ako Písať A čítať Flash Pamäte Pomocou Arduina

Obsah:

Ako Písať A čítať Flash Pamäte Pomocou Arduina
Ako Písať A čítať Flash Pamäte Pomocou Arduina

Video: Ako Písať A čítať Flash Pamäte Pomocou Arduina

Video: Ako Písať A čítať Flash Pamäte Pomocou Arduina
Video: How to use ESP32 with Arduino IDE full details with examples and code 2024, Apríl
Anonim

V tomto článku sa pozrieme na to, ako zapisovať a čítať z flash pamäte pomocou Arduina s použitím mikroobvodu 25L8005 ako príklad.

Ako písať a čítať flash pamäte pomocou Arduina
Ako písať a čítať flash pamäte pomocou Arduina

Nevyhnutné

  • - flash pamäťový čip s podporou SPI;
  • - adaptér pre pamäť alebo panel s nulovým ziskom (panel ZIF);
  • - Arduino;
  • - počítač;
  • - spojovacie vodiče.

Inštrukcie

Krok 1

Najskôr to musíme urobiť, aby sme sa mohli ľahko pripojiť k mikroobvodu. K tomu môžete použiť buď špeciálny adaptér, ku ktorému musíte spájkovať mikroobvod, alebo (čo je lepšie) panel s nulovým ziskom (takzvaný panel ZIF).

Flash pamäťový čip na paneli ZIF
Flash pamäťový čip na paneli ZIF

Krok 2

Poďme teraz zostaviť elektrickú schému na pripojenie čipu flash pamäte k Arduinu. Na programovanie pamäte budeme používať rozhranie SPI, takže sa pripojíme k štandardným pinom:

- CS - digitálny pin 10, - MOSI - digitálny pin 11, - MISO - digitálny pin 12, - SCK - digitálny pin 13.

Schéma pripojenia Flash pamäte k Arduinu
Schéma pripojenia Flash pamäte k Arduinu

Krok 3

Pred zápisom údajov do pamäte je potrebné vymazať sektor alebo stránku, do ktorej sa chystáme zapísať. Ak nie je možné zapísať veľa údajov (v našom príklade tutoriálu to bude iba 16 bajtov), stačí vymazať 1 sektor. Z dokumentácie k mikroobvodu vidíme, že mazacia sekvencia je nasledovná: nastavte oprávnenie na zápis (1 bajt), pošlite príkaz na mazanie (1 bajt) a adresu (3 bajty), nastavte zákaz zápisu (1 bajt). To je presne to, čo vyššie uvedený náčrt robí. Načítajme to do Arduina. Po dokončení náčrtu je jednotka flash pripravená na nahrávanie.

Náčrt vymazania sektora blesku
Náčrt vymazania sektora blesku

Krok 4

Teraz napíšeme údaje. Vezmime si ako príklad malé pole 16 bajtov. Ako vidíte z dokumentácie, najskôr musíte nastaviť oprávnenie na zápis (1 bajt), potom poslať príkaz na zápis (1 bajt), začiatočnú adresu (3 bajty) a údaje (v našom príklade 16 bajtov), na koniec nastavil zákaz zápisu (1 bajt).

Nahrajte náčrt do Arduina. Po vykonaní tohto náčrtu malo byť naše testovacie pole zapísané do pamäte flash. Poďme skontrolovať, či je to tak.

Náčrt zapísania poľa bajtov do pamäte flash
Náčrt zapísania poľa bajtov do pamäte flash

Krok 5

Poďme napísať náčrt, ktorý má načítať 16 bajtov z pamäte flash. Načítajme to do Arduina a otvorme monitor sériového portu. Podľa očakávania sa na monitore naše pole načítané z pamäte pomocou Arduina zobrazí 1 krát za sekundu.

Odporúča: