Hallo,
kennt sich jemand ein wenig mit DAVE aus? Ich bin neu in diesem Bereich.
Ich habe ein DAVE CE Projekt erzeugt und die SPI001 App in den S/W App
Dependency TreeView gezogen. Dann habe ich das Modul konfiguriert (siehe
Bild). Bei der FIFO-Configuration habe ich jeweils Size 8 und Trigger
limit 1 eingestellt.
Mein Quellcode sieht so aus:
int main(void)
{
DAVE_Init(); // Initialization of DAVE Apps
uint16_t spiData, writeData;
spiData = 0;
writeData = 5; // readStatusRegister
while(1)
{
EnableStartOfFrame(SPI001_Handle0);
writeData = 6;
SPI001_WriteData(&SPI001_Handle0,&writeData,SPI001_STANDARD);
writeData = 1;
SPI001_WriteData(&SPI001_Handle0,&writeData,SPI001_STANDARD);
writeData = 0x8C;
SPI001_WriteData(&SPI001_Handle0,&writeData,SPI001_STANDARD);
writeData = 5;
EnableEndOfFrame(SPI001_Handle0);
SPI001_WriteData(&SPI001_Handle0,&writeData,SPI001_STANDARD);
SPI001_ReadData(&SPI001_Handle0,&spiData);
}
return 0;
}
Es handelt sich hier um eine EEPROM-Ansteuerung.
Ich möchte hier 4 Bytes in das SPI hineinschicken und am Ende 1 Byte
Daten auslesen. Je nachdem, dwas ich auslesen möchte, kann es sein, dass
ich bis zu 6 Byte an das EEPROM schicken möchte.
Mein Problem ist nun, dass zwischen den einzelnen Bytes (WriteData) das
Chipselect jedes mal wieder "high" geht.
Ich dachte, dass ich das mit dem "EnableStartOfFrame" und
"EnableEndOfFrame" so erreicht hätte, aber das funktioniert nicht.
Ich habe bei Tante Google und auch in der Doku sonst nichts weiter
gefunden. Kann mir jemand helfen oder zumindest eine gute Seite
empfehlen, die auf das SPI-Problem eingeht?
Thx
PS: Ich nutze DAVE 3.1.10 mit einem XMC4100.
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.
