Forum: Mikrocontroller und Digitale Elektronik ATxmega SPI Driver / Konzept


von Greenhorn (Gast)


Lesenswert?

Hallo,

ich bin aktuell dabei meinen SPI Driver zu konzepieren.

Ich möchte gern, dass ich einer Funktion Daten und die Datenmenge 
übergebe, und über einen Interrupt informiert werde wenn alle Daten 
versendet wurden. Das automatische "Nachladen" der Daten im SPI Register 
sollte möglichst automatisch erfolgen.

Leider entnehme ich den meisten Source Codes, dass Sie jedes Byte 
einzeln in die SPI Datenregister laden und starten müssen.

Es handelt sich hierbei um einen SPI Master.

Gibt es hier mögliche Konstelation mit dem Event System, DMA und 
Interrupt.

Vielen Dank

von unl34shed (Gast)


Lesenswert?

Was du suchst geht mit dem DMA, der kann für jeden Kanal einen eigenen 
Interrupt erzeugen, wenn alles gesendet wurde.

Event-System solltest du dafür nicht brauchen.

Gruß.

von Werner B. (werner-b)


Lesenswert?

unl34shed schrieb:
> Was du suchst geht mit dem DMA, der kann für jeden Kanal einen eigenen
> Interrupt erzeugen, wenn alles gesendet wurde.
>
> Event-System solltest du dafür nicht brauchen.
>
> Gruß.

Aber SPI mit DMA ist nur über einen der UART im SPI Modus möglich.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Werner B. schrieb:
> Aber SPI mit DMA ist nur über einen der UART im SPI Modus möglich.

Oder bei Slave-SPI. Witzigerweise erzeugt auch das normale Master-SPI 
eine DMA-Anforderung, aber diese ist nicht zuverlässig. Hatten wir mal 
scherzhalber ausprobiert, aber es gab Aussetzer.

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
Noch kein Account? Hier anmelden.