Status und Jedec-ID lesen geht jetzt, nehme ich an. Aber nur mit PullUp an MISO?
Wenn ja, heißt das, der Chip ist zwar ok, aber irgendwo ist noch ein Wurm drin. Das muß ohne PU gehen.
Das Programm läßt sich so nicht kompilieren, da fehlt noch zu viel und ich bin kein Hellseher.
Wenn ich rausfinden will, ob (oder wie) ein Baustein funktioniert, schreibe ich dafür ein minimales Testprogramm, d.h. ich verwende z.B. keine pointer auf structs, die woanders deklariert sind und damit das ganze so unübersichtlich machen, daß ich vom wesentlichen abgelenkt werde.
Aber vielleicht hast Du ja den Überblick.
Die neue Version schaue ich mir morgen mal an, wenn ich Zeit habe.