Bu yazıda, nümunə olaraq 25L8005 mikro dövrəsini istifadə edərək Arduino istifadə edərək flaş yaddaşa necə yazmağı və oxumağı nəzərdən keçirəcəyik.
Zəruri
- - SPI dəstəyi olan flaş yaddaş çipi;
- - yaddaş üçün bir adapter və ya sıfır qazancı olan bir panel (ZIF-panel);
- - Arduino;
- - kompüter;
- - birləşdirici tellər.
Təlimat
Addım 1
Əvvəlcə mikro dövrə asanlıqla bağlana biləcəyimiz şəkildə etməliyik. Bunu etmək üçün ya mikro dövrəni lehimləməli olduğunuz xüsusi bir adapterdən istifadə edə bilərsiniz, ya da (üstünlük verilir) sıfır qazanc panelindən (sözdə ZIF paneli) istifadə edə bilərsiniz.
Addım 2
İndi flash yaddaş çipini Arduino-ya bağlamaq üçün elektrik diaqramını bir araya gətirək. Yaddaş proqramlaşdırma üçün SPI interfeysindən istifadə edəcəyik, buna görə standart sancaqlara qoşulacağıq:
- CS - rəqəmsal pin 10, - MOSI - rəqəmsal pin 11, - MISO - rəqəmsal pin 12, - SCK - rəqəmsal pin 13.
Addım 3
Yaddaşa məlumat yazmazdan əvvəl yazacağımız sektoru və ya səhifəni silmək lazımdır. Yazılacaq çox məlumat yoxdursa (dərs nümunəmizdə yalnız 16 bayt olacaq), onda 1 sektoru silmək kifayətdir. Mikro dövrənin sənədlərindən silinmə ardıcıllığının belə olduğunu görürük: yazma icazəsini (1 bayt) təyin edin, silmək əmrini (1 bayt) və ünvanı (3 bayt) göndərin, yazma qadağanını təyin edin (1 bayt). Yuxarıdakı eskizin işi budur. Gəlin Arduinoya yükləyək. Eskiz tamamlandıqdan sonra flash sürücü qeyd etməyə hazırdır.
Addım 4
İndi məlumatları yazaq. Nümunə olaraq 16 baytlıq kiçik bir sıra götürək. Sənədlərdən də göründüyü kimi əvvəlcə yazma icazəsini (1 bayt) təyin etməlisiniz, sonra yazma əmrini (1 bayt), başlanğıc ünvanı (3 bayt) və məlumatları (nümunəmizdə 16 bayt) göndərin. son yazma qadağanını təyin etdi (1 bayt).
Eskizi Arduinoya yükləyin. Bu eskizi icra etdikdən sonra test massivimiz yaddaşa yazılmalı idi. Bunun belə olub olmadığını yoxlayaq.
Addım 5
Flaş yaddaşdan 16 bayt oxumaq üçün bir eskiz yazaq. Arduinoya yükləyək və serial port monitorunu açaq. Monitorda, gözlənildiyi kimi Arduino istifadə edərək yaddaşdan oxunan serialımız saniyədə 1 dəfə görünəcək.