Ich versuche gerade, die Verbindung zu einem W25Q32JV SPI Flash
aufzunehmen.
Hier ist das Datenblatt:
https://www.mouser.de/datasheet/2/949/w25q32jv_revg_03272018_plus-1489806.pdf
Ich kann die ID auslesen, d.h. nach diesem Befehl:
bekomme ich diese Ausgabe:
Das stimmt mit den Werten auf Seite 21 überein.
Mein Vorgehen ist nun, folgende Befehle abzuschicken:
1 | 06 (Write Enable)
|
2 | 20 0F 00 00 (Sector Erase 0x0F0000)
|
3 | 02 0F 00 00 5A (Page Program 0x0F0000 => 0x5A)
|
4 | 03 0F 00 00 00 (Read Data 0x0F0000)
|
Zwischen jedem Befehl liegen 1s Pause, d.h. um das BUSY-Bit auf Seite 35
mache ich mir keine großen Sorgen.
Ich bekomme anstatt der erwarteten 0x5A allerdings den Wert 0xFF.
Was mich etwas verwundert ist die Beschreibung von Read Data auf Seite
28:
1 | The code and address bits are latched on the rising edge of the
|
2 | CLK pin. After the address is received, the data byte of the addressed memory location will be shifted out
|
3 | on the DO pin at the falling edge of CLK with most significant bit (MSB) first.
|
Bedeutet das nun, dass ich mittendrinn den SPI-Modus von Rising-Edge auf
Falling-Edge umschalten muss (also CPHA von 0 auf 1)?