Forum: Mikrocontroller und Digitale Elektronik stm32f072 Wie UART TX -> DMA über Timer triggern


von Uli (Gast)


Lesenswert?

Hallo,

ich will auf einem STM32F072 Daten über die SIO senden.
Ich habe mal gelesen das man den DMA durch einen Timer Triggern kann.
Das ganze soll dazu dienen das ich nicht alles direkt hintereinander 
senden will, sondern eine definierte Pause zwischen den Bytes brauche.

Irgendwie finde ich aber gerade nicht raus wie ich den DMA mit dem Timer 
triggern kann.

Über einen Tipp wäre ich dankbar.

VG, Uli

von Uli (Gast)


Lesenswert?

Ich finde es immer noch nicht.

Hat denn wirklich niemand einen Tipp für mich?


VG, Uli

von Falk B. (falk)


Lesenswert?

Jeder DMA-Kanal hat eine einstellbare Triggerquelle. Dort muss man halt 
den Timer eintragen. Die Register dazu musst du rausfinden. RTFM.

von Uli (Gast)


Lesenswert?

Was glaubst Du woran ich gerade scheitere?

Entweder ich überlese das ständig oder ....!

Uli

von Falk B. (falk)


Lesenswert?

@  Uli (Gast)

>Was glaubst Du woran ich gerade scheitere?

Keine Ahnung.

>Entweder ich überlese das ständig oder ....!

Hörbuch kaufen!

http://www2.st.com/content/ccc/resource/technical/document/reference_manual/c2/f8/8a/f2/18/e6/43/96/DM00031936.pdf/files/DM00031936.pdf/_jcr_content/translations/en.DM00031936.pdf

Seite 196ff

Seite 199 "Channel configuration procedure"

Der Trigger heißt dort "peripherial event", es gibt auch einen 
Beispielcode, allerdings zeigt der nix zum Thema Trigger per Timer 8-(

Seite 202.

"The peripheral DMA requests can be independently activated/de-activated 
by programming the DMA control bit in the registers of the corresponding 
peripheral."

Wenn also dein Timer die DMA auslösen soll, muss im Timer das Event 
freigeschaltet werden.

Also schauen wir mal beim Timer TIM1 vorbei.

Seite 355, "TIM1 DMA/interrupt enable register (TIM1_DIER)"

Dort kann man festlegen, welches Event des Timers einen DMA-Transfer 
auslösen soll. UDE ist dein Bit, das du suchst.

von Uli (Gast)


Lesenswert?

Man gebe mir eine Brille!
Ja ein Hörbuch, am besten noch mit hinweisen,  hätte da wohl geholfen.

Das hatte ich immer überlesen und dann teilweise noch falsch verstanden 
was die wollen.

Jetzt wo Du mich direkt darauf stößt ist alles klar und mein Code so gut 
wie fertig.

Danke, Uli

von google (Gast)


Lesenswert?

Uli schrieb:
>
> Jetzt wo Du mich direkt darauf stößt ist alles klar und mein Code so gut
> wie fertig.
>

Dann wärs gut, wenn Du ihn hier reinstellst, dann findet der Nächste 
gleich Frage und Ergebnis zusammen.

von Uli (Gast)


Lesenswert?

Gute Idee, mache ich wenn ich fertig bin.
Brauche noch etwas weil um das senden herum noch einiges passiert was 
erst fertig sein muss.


Uli

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.