Dalam artikel ini, kita akan melihat cara menulis dan membaca dari memori kilat menggunakan Arduino menggunakan rangkaian mikro 25L8005 sebagai contoh.
Perlu
- - cip memori kilat dengan sokongan SPI;
- - penyesuai untuk memori atau panel dengan keuntungan sifar (panel ZIF);
- - Arduino;
- - komputer;
- - wayar penyambung.
Arahan
Langkah 1
Pertama, kita perlu membuatnya supaya kita dapat menyambung ke rangkaian mikro dengan mudah. Untuk melakukan ini, anda boleh menggunakan penyesuai khas yang harus anda solderkan litar mikro, atau (yang lebih disukai) menggunakan panel keuntungan tanpa sifar (yang disebut panel ZIF).
Langkah 2
Sekarang mari kita susunkan rajah elektrik untuk menyambungkan cip memori kilat ke Arduino. Kami akan menggunakan antara muka SPI untuk pengaturcaraan memori, jadi kami akan menyambung ke pin standard:
- CS - pin digital 10, - MOSI - pin digital 11, - MISO - pin digital 12, - SCK - pin digital 13.
Langkah 3
Sebelum menulis data ke memori, perlu menghapus sektor atau halaman yang akan kami tulis. Sekiranya tidak ada banyak data yang akan ditulis (dalam contoh tutorial kami hanya 16 bait), maka cukup untuk menghapus 1 sektor. Dari dokumentasi untuk rangkaian mikro, kita melihat bahawa urutan penghapusan adalah seperti berikut: tetapkan izin tulis (1 bait), kirim perintah penghapusan (1 bait) dan alamat (3 bait), tetapkan larangan menulis (1 bait). Inilah sebenarnya lakaran di atas. Mari memuatkannya ke Arduino. Setelah lakaran selesai, pemacu denyar siap untuk dirakam.
Langkah 4
Sekarang mari tulis data. Mari kita ambil sebilangan kecil 16 bait sebagai contoh. Seperti yang anda lihat dari dokumentasi, pertama anda perlu menetapkan izin menulis (1 bait), kemudian hantarkan perintah tulis (1 bait), alamat permulaan (3 bait) dan data (dalam contoh kami, 16 bait), di akhir menetapkan larangan menulis (1 bait).
Muat naik lakaran ke Arduino. Setelah melaksanakan lakaran ini, susunan ujian kami seharusnya ditulis untuk memori flash. Mari periksa sama ada ini betul.
Langkah 5
Mari tulis lakaran untuk membaca 16 bait dari memori kilat. Mari muatkan ke Arduino dan buka monitor port bersiri. Di monitor, seperti yang diharapkan, susunan kami, yang dibaca dari memori menggunakan Arduino, akan dipaparkan 1 kali sesaat.