Hallo Allerseits! Ich habe ein Problem. Und zwar habe ich einen uC LPC935, mit diesem möchte ich einen SPI Speicher AMIC A25L40P ansteuern. Im Anhang ist die Schaltung die ich verwende. Datenblatt des Speichers hier: http://www.farnell.com/datasheets/34130.pdf Datenblatt des Sticks hier: http://www.humerboard.at/produkte/nlb_nxp/NLB_LPC935.pdf Mein Problem ist, dass es einmal funktioniert hat Daten in den Speicher zu schreiben und dann auszulesen. Dann habe ich das Programm erweitern wollen und ein paar mal die Versorgung des Speichers ausgesteckt und nochmal eingesteckt bzw. ein paar mal mit den Fingern draufgegriffen. Meine 1. Frage ist jetzt, kann ich den Speicher dadurch zerstört haben? Mein Problem ist nämlich, dass ich beim 2. auslesen des Registers einen Falschen Wert zurückbekomme (7, statt 4) Dadurch hänge ich in der Schleife in der ich das WIP (Write in Process Bit) abfrage und komme nie zum auslesen des Wertes. Durch Lesen des Datenblattes habe ich dann bemerkt, dass das Bit ein Block Protect bit ist. (1ter Block , adressen ganz unten ) Dann habe ich in den Nächsthöheren Block geschrieben und beim Register lesen den Wert 6 zurückbekommen und einen falschen Wert beim auslesen der Daten. Mein Verwendeter Code ist angehängt. Hoffe, dass Ihr mir helfen könnt, wäre euch sehr dankbar MfG Stefan M.
Hey Danke für die Antwort aber ich habe wieder eine Frage :) Was bzw. wo und mit welchem Wert braucht man die? Ich habe solche noch nie verwendet, ich hoffe die Frage kommt jetzt nicht zu blöd rüber. MfG Mörth Stefan
So.... Ich habe jetzt die Abblockkondensatoren eingebaut und es funktioniert leider immer noch nicht :( Es ist weiterhin so, dass ich beim 2ten mal auslesen des Registers einen falschen Wert bekomme und dadurch in meiner do while schleife festhänge... Könnte es sein, dass ich einen Software Fehler habe oder weiß einer warum das so sein könnte? Wäre über Tipps sehr dankbar. MfG Stefan M.
Hmm.. ist schwierig. Überprüfe die Verwendung von SPSTAT und SPDAT. Stimmen deine While-Abfragen bezüglich dieser Variablen? Mach das ganze mal ohne Interrupt. Ich habe hier zwei Speicherchips (AT45DB32) über SPI laufen und es funktioniert einwandfrei.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.