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