Forum: Mikrocontroller und Digitale Elektronik Atmel SAM3U (Cortex-M3) PDC "end of transfer interrupt" aktivieren


von MatsStriker (Gast)


Lesenswert?

Hallo!

ich bin auf der Suche nach einer Möglichkeit das Ende einer fertigen 
PDC(Peripheral DMA Controller) Übertragung zu signalisieren.

Als Basis habe ich das ASF-Projekt des Atmel Studio für den Prozessor 
AT91SAM3U4E von Atmel verwendet (PDC_UART_example) und das Atmel 
Evaluierungs-Board SAM3U-EK.
Dieses habe ich umgeändert, sodass der PDC einen Buffer über den UART 
sendet - dies funktioniert bereits problemlos :)

Im Manual steht dass ein end-of-transfer Interrupt aktiviert werden 
kann, wenn eine PDC-Übertragung fertig ist.
Ich habe jedoch noch keine Möglichkeit entdeckt oder im Netz gefunden, 
wie man den Interrupt aktiviert.

Auch die Suche nach einer anderen Möglichkeit das Ende der Übertragung 
zu singalisieren war bis jetzt erfolglos.


Habt ihr eine Idee wie man dies machen könnte?

von gerhard (Gast)


Lesenswert?

hallo
der pdc sendet nach dem ende einer übertragung ein flag an das 
entsprechende peripheral. dieses flag kann dann einen interrupt 
auslösen.
such mal im handbuch nach den flags ENDRX, ENDTX, RXBUFF, and TXBUFE.

gruss
gerhard

von Mats S. (matsstriker)


Lesenswert?

jippii!

nun funktioniert es :)

die Info, dass nicht der PDC einen Interrupt erzeugt, sondern ein FLAG 
setzt war der Schlüssel.
Der Interrupt wenn der Transfer abgeschlossen wurde, wird nun von dem 
UART erzeugt (UART_IER_ENDTX).

Im Interrupthandler des UARTs können danach die Daten verarbeitet 
werden.

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.