In hierdie artikel sal ons kyk hoe om na 'n flashgeheue te skryf en te lees met behulp van 'n Arduino met behulp van die 25L8005-mikrokringbaan as voorbeeld.
Nodig
- - flitsgeheue-skyfie met SPI-ondersteuning;
- - 'n adapter vir geheue of 'n paneel met geen wins (ZIF-paneel);
- - Arduino;
- - rekenaar;
- - verbindingsdrade.
Instruksies
Stap 1
Eerstens moet ons dit so maak dat ons maklik aan die mikrokring kan koppel. Om dit te doen, kan u 'n spesiale adapter gebruik waarvoor u die mikrokring moet soldeer, of (wat verkieslik is) 'n zero-gain-paneel (die sogenaamde ZIF-paneel) gebruik.
Stap 2
Laat ons nou die elektriese diagram saamstel om die flitsgeheue-skyfie aan die Arduino te koppel. Ons sal die SPI-koppelvlak gebruik vir geheueprogrammering, dus sal ons aan die standaardpennetjies koppel:
- CS - digitale pen 10, - MOSI - digitale pen 11, - MISO - digitale pen 12, - SCK - digitale pen 13.
Stap 3
Voordat u data in die geheue skryf, moet u die sektor of bladsy waarna ons gaan skryf, uitvee. As daar nie veel data geskryf moet word nie (in ons voorbeeld sal dit slegs 16 bytes wees), dan is dit genoeg om 1 sektor uit te wis. Uit die dokumentasie vir die mikrokring sien ons dat die wisvolgorde die volgende is: stel die skryftoestemming (1 byte) in, stuur die wis-opdrag (1 byte) en die adres (3 bytes), stel die skryfverbod (1 byte). Dit is presies wat die skets hierbo doen. Kom ons laai dit in Arduino. Nadat die skets voltooi is, is die flash drive gereed vir opname.
Stap 4
Laat ons nou die data skryf. Kom ons neem 'n klein skikking van 16 grepe as voorbeeld. Soos u uit die dokumentasie kan sien, moet u eers die skryftoestemming (1 byte) instel en dan die skryfopdrag (1 byte), die beginadres (3 bytes) en data (in ons voorbeeld, 16 bytes) stuur by: die einde stel die skryfverbod (1 byte) in.
Laai die skets op na Arduino. Nadat hierdie skets uitgevoer is, moes ons toetsopstelling in die geheue geskryf word. Kom ons kyk of dit so is.
Stap 5
Kom ons skryf 'n skets om 16 grepe uit die geheue te lees. Kom ons laai dit in Arduino en maak die seriële poortmonitor oop. Soos op die monitor, sal ons skikking, gelees uit die geheue met behulp van die Arduino, 1 keer per sekonde vertoon word.