I denne artikkelen vil vi se på hvordan du skriver til og leser fra flash-minne ved hjelp av en Arduino ved hjelp av 25L8005-mikrokretsen som et eksempel.
Nødvendig
- - flash-minnebrikke med SPI-støtte;
- - en adapter for minne eller et panel med null forsterkning (ZIF-panel);
- - Arduino;
- - datamaskin;
- - tilkobling av ledninger.
Bruksanvisning
Trinn 1
Først må vi gjøre det slik at vi enkelt kan koble til mikrokretsen. For å gjøre dette kan du bruke enten en spesiell adapter som du må lodde mikrokretsen til, eller (som er å foretrekke) bruke et null-gain-panel (det såkalte ZIF-panelet).
Steg 2
La oss nå sette sammen det elektriske diagrammet for å koble flash-minnebrikken til Arduino. Vi vil bruke SPI-grensesnittet for minneprogrammering, så vi kobler til standardpinnene:
- CS - digital pin 10, - MOSI - digital pin 11, - MISO - digital pin 12, - SCK - digital pin 13.
Trinn 3
Før du skriver data til minnet, er det nødvendig å slette sektoren eller siden som vi skal skrive til. Hvis det ikke er mye data som skal skrives (i veiledningseksemplet vil det bare være 16 byte), så er det nok å slette en sektor. Fra dokumentasjonen for mikrokretsen ser vi at slettesekvensen er som følger: angi skrivetillatelsen (1 byte), send slettekommandoen (1 byte) og adressen (3 byte), sett skriveforbudet (1 byte). Dette er nøyaktig hva skissen ovenfor gjør. La oss laste den inn i Arduino. Etter at skissen er fullført, er flash-stasjonen klar for opptak.
Trinn 4
La oss nå skrive dataene. La oss ta et lite utvalg på 16 byte som et eksempel. Som du kan se fra dokumentasjonen, må du først angi skrivetillatelse (1 byte), og deretter sende skrivekommandoen (1 byte), startadressen (3 byte) og data (i vårt eksempel, 16 byte), kl. slutten satte skriveforbudet (1 byte).
Last opp skissen til Arduino. Etter å ha utført denne skissen, burde testoppsettet vårt være skrevet i flashminne. La oss sjekke om dette er slik.
Trinn 5
La oss skrive en skisse for å lese 16 byte fra flashminnet. La oss laste den inn i Arduino og åpne den serielle portmonitoren. Som forventet vil skjermen vår, lest fra minne ved hjelp av Arduino, vises på skjermen 1 gang per sekund.