OT Cela rodina STM32 a USART+DMA+IRQ

Miroslav Mraz mraz na seznam.cz
Středa Březen 4 17:47:03 CET 2015


Ono je to u té F0 složitější. Třeba když nezapnu u DMA ten circular mód 
(a v přerušení neprovedu příslušný reload registrů), mám nastavený 
RXNEIE, pak přeruší poprvé od DMA a dále pak normálně od příjmu znaku 
protože DMA už vlastně neběží. Asi by se s tím daly dělat všelijaké 
věci, ale ten USART je docela složitý, čert ví co všechno se dá zapnout 
a co to pak dělá.
V každém případě zapnutí RXNEIE a DMA zároveň nečiní potíže toho typu, 
že by periferie přestala fungovat, takže pokud zde ta poznámka chybí 
nevidím v tom problém.

Spíš je divné, že to přerušení od Rx nepřijde, protože v RM píšou, že 
při příjmu znaku se RXNE nastaví a nuluje se až od DMA.
"In multibuffer, RXNE is set after every byte received and is cleared by 
the DMA read of the Receive Data Register." Beru to tak, že ten flag DMA 
nějak požere a nebudu si s tím lámat hlavu.

Mrazík


Dne 4.3.2015 v 16:15 Jan Waclawek napsal(a):
> Hm, dakujem, ale tak uz tomu vobec nerozumiem.
>
> Pan kolega Labaj potvrdil, ze DMA a Rx prerusenie nejde spolu u 'F4, a to
> iste pan kolega Mraz u 'F0.
>
> Skor by som teda povedal, ze ta poznamka ma byt praveze vo vsetkych
> manualoch, nie?
>
> wek
>
>


Další informace o konferenci Hw-list