Hallo, ich habe eine Frage zum SPI-Modul bei einem dsPIC33. Was ich tun
möchte, ist beim Ausschalten des PICs Daten an einen externen
EEPROM-Speicher zu senden und diese dann beim Einschalten wieder
auszulesen. Das Senden bzw Schreiben funktioniert und auch beim Auslesen
sehe ich am Oszi, dass die Daten aus dem EEPROM am SDI-Pin des Pics
ankommen. Leider gelingt es mir dann nicht diese Daten in einer
Variablen zu speichern. Mein Code zum Auslesen sieht so aus:
1 | temp = SPI2BUF; //Buffer auslesen, damit SPIRBF = 0
|
2 | SPI2BUF = 0b00000000; //irgendetwas senden, um Clock auszugeben
|
3 | while(!SPI2STATbits.SPIRBF); //Warten bis alle Bits gesendet/empfangen sind
|
4 | variable = SPI2BUF; //Buffer auslesen
|
Vorher setze ich natürlich auch noch das entsprechende CS-Bit zu Null.
Der PIC ist dabei Master, der Speicher Slave und der SS2-Pin über einen
Widerstand mit Ground verbunden. In der Variablen steht immer Null nach
dem Auslesen.
Wäre für den ein oder anderen Tipp wirklich sehr dankbar!