I denne artikel vil vi se på, hvordan man skriver til og læser fra flash-hukommelse ved hjælp af en Arduino ved hjælp af 25L8005 mikrokredsløb som et eksempel.
Nødvendig
- - flashhukommelseschip med SPI-understøttelse;
- - en adapter til hukommelse eller et panel med nul forstærkning (ZIF-panel)
- - Arduino;
- - computer;
- - tilslutning af ledninger.
Instruktioner
Trin 1
Først skal vi gøre det, så vi let kan oprette forbindelse til mikrokredsløbet. For at gøre dette kan du enten bruge en speciel adapter, som du skal lodde mikrokredsløbet til, eller (hvilket er at foretrække) bruge et zero-gain-panel (det såkaldte ZIF-panel).
Trin 2
Lad os nu sammensætte det elektriske diagram til tilslutning af flashhukommelseschippen til Arduino. Vi bruger SPI-grænsefladen til hukommelsesprogrammering, så vi opretter forbindelse til standardstifterne:
- CS - digital pin 10, - MOSI - digital pin 11, - MISO - digital pin 12, - SCK - digital pin 13.
Trin 3
Før du skriver data til hukommelsen, er det nødvendigt at slette den sektor eller side, som vi skal skrive til. Hvis der ikke er meget data, der skal skrives (i vores vejledningseksempel vil det kun være 16 byte), så er det nok at slette 1 sektor. Fra dokumentationen til mikrokredsløbet ser vi, at sletningssekvensen er som følger: indstil skrivetilladelsen (1 byte), send sletningskommandoen (1 byte) og adressen (3 byte), indstil skriveforbudet (1 byte). Dette er præcis, hvad ovenstående skitse gør. Lad os indlæse det i Arduino. Når skitsen er færdig, er flashdrevet klar til optagelse.
Trin 4
Lad os nu skrive dataene. Lad os tage et lille udvalg på 16 byte som et eksempel. Som du kan se i dokumentationen, skal du først indstille skrivetilladelsen (1 byte) og derefter sende skrivekommandoen (1 byte), startadressen (3 byte) og data (i vores eksempel 16 byte), som slutningen indstiller skriveforbudet (1 byte).
Upload skitsen til Arduino. Efter at have udført denne skitse, skulle vores testarray være skrevet til flashhukommelse. Lad os kontrollere, om det er sådan.
Trin 5
Lad os skrive en skitse for at læse 16 byte fra flashhukommelsen. Lad os indlæse den i Arduino og åbne den serielle portmonitor. Som forventet på skærmen vises vores array, læst fra hukommelse ved hjælp af Arduino, 1 gang i sekundet.