Pada artikel ini, kita akan melihat cara menulis dan membaca dari memori flash menggunakan Arduino menggunakan sirkuit mikro 25L8005 sebagai contoh.
Diperlukan
- - chip memori flash dengan dukungan SPI;
- - adaptor untuk memori atau panel dengan gain nol (ZIF-panel);
- -Arduino;
- - komputer;
- - kabel penghubung.
instruksi
Langkah 1
Pertama, kita perlu membuatnya agar kita dapat dengan mudah terhubung ke sirkuit mikro. Untuk melakukan ini, Anda dapat menggunakan adaptor khusus tempat Anda harus menyolder sirkuit mikro, atau (yang lebih disukai) menggunakan panel gain-nol (yang disebut panel ZIF).
Langkah 2
Sekarang mari kita menyusun diagram listrik untuk menghubungkan chip memori flash ke Arduino. Kami akan menggunakan antarmuka SPI untuk pemrograman memori, jadi kami akan terhubung ke pin standar:
- CS - pin digital 10, - MOSI - pin digital 11, - MISO - pin digital 12, - SCK - pin digital 13.
Langkah 3
Sebelum menulis data ke memori, perlu untuk menghapus sektor atau halaman yang akan kita tulis. Jika tidak banyak data yang akan ditulis (dalam contoh tutorial kami hanya akan menjadi 16 byte), maka cukup untuk menghapus 1 sektor. Dari dokumentasi untuk sirkuit mikro, kita melihat bahwa urutan penghapusan adalah sebagai berikut: atur izin menulis (1 byte), kirim perintah hapus (1 byte) dan alamat (3 byte), atur larangan menulis (1 byte). Inilah yang dilakukan sketsa di atas. Mari kita memuatnya ke Arduino. Setelah sketsa selesai, flash drive siap untuk merekam.
Langkah 4
Sekarang mari kita tulis datanya. Mari kita ambil array kecil 16 byte sebagai contoh. Seperti yang Anda lihat dari dokumentasi, pertama-tama Anda perlu mengatur izin menulis (1 byte), kemudian mengirim perintah tulis (1 byte), alamat awal (3 byte) dan data (dalam contoh kami, 16 byte), di akhir mengatur larangan menulis (1 byte).
Unggah sketsa ke Arduino. Setelah menjalankan sketsa ini, larik pengujian kami seharusnya ditulis ke memori flash. Mari kita periksa apakah ini benar.
Langkah 5
Mari kita menulis sketsa untuk membaca 16 byte dari memori flash. Mari kita muat ke Arduino dan buka monitor port serial. Di monitor, seperti yang diharapkan, array kami, yang dibaca dari memori menggunakan Arduino, akan ditampilkan 1 kali per detik.