Hallo liebe Forumgemeinde,
ich habe mal wieder ein kelines/GROSSES Problem.
Auf einer eigens entwickelten Schaltung hatte ich ein Layout für einen
SST26VF016 vorgesehen. Der war damals nicht lieferbar und ich habe einen
Vergleichstyp von ADESTO eingebaut. Ich benutze ihn im einfachen SPI
Mode ohne QUAD etc.
Mit dem Adesto lief das auch alles völlig unproblematisch. Als nun die
neuen Platinen kamen, waren hier die originalen SST26VF016 verbaut.
Firmware aufgespielt, kein lesen/kein schreiben möglich. :-(
Auf die neue Platine den alten ADESTO aufgelötet-> geht auf anhieb.
Nun bin ich schon seit 2 Tagen am ausprobieren was diesem Mistding nicht
schmeckt. Ich bin momentan soweit, dass ich in der Main nur mal versuche
das Statusregister auszulesen, was beim ADESTO einwandfrei funktioniert,
beim SST26VF016 aber nur FF zurück liefert, da der MISO wohl dauerhaft
auf High steht.
Hier mein Code dazu
1 | void ReadSTATUS(void) {
|
2 | u8 dum;
|
3 | SSTEnaOn;
|
4 | SendByteSPI2(0x06);
|
5 | SSTEnaOff;
|
6 | for(k=0;k<500;++k);
|
7 | SSTEnaOn;
|
8 | SendByteSPI2(0x05);
|
9 | for (i=0;i<10;i++)
|
10 | SReg[i] = ReadByte();
|
11 | SSTEnaOff;
|
12 | }
|
Sehe ich das richtig, nach Power up oder Reset steht der Chip lt.
Datenblat im Normalmodus (kein Quad) und egal welche Block protections
hier noch aktiviert sind oder nicht, ein lesen des Status sollte doch
möglich sein oder?
Weiß langsam nicht mehr wo ich noch ansetzen soll, denn der ADESTO läuft
mit gleicher Firmware und gleicher Hardware :-(
Hat jemand noch eine Idee. Bin für jede Anregung äußerst dankbar, da
langsam etwas in Zeitdruck.
Gruß
Hanna