[elektro] STM32 átállás - XMEGA
VFX
info at vfx.hu
Fri Jan 27 20:02:40 CET 2017
Hali!
DMA-t nem szoktam használni, de RS485-t igen. Én adáskor engedélyezem a
"Data Register Empty Interrupt"-t, így minden egyes byte után kapok egy
megszakítást mielőtt az a shiftregiszeterbe kerülne. Az utolsó byte-nál
tiltom a "Data Register Empty Interrupt"-t és engedélyezem az "UART TX
COMPLET" interruptot. Ez akkor aktiválódik, ha már a shiftregiszerből az
utolsó bit is kiment. Ebben az interruptban tiltom a TXEN-t az RS485
IC-n ami kb. 100ns múlva tilt.
Nálam ez tökéletesen megy.
DMA-val úgy csinálnám, hogy a DMA utolsó byte átvitelnél kérnék egy IT
és engedélyezném a "UART TX COMPLET" IT-t. Majd amikor megjött az UART
TX Comp. It egyből tiltanám az UART összes megszakítást. És indulhat a
ciklus előlről.
ÜDV. VFX.
2017.01.27. 10:04 keltezéssel, Horvath Janos írta:
> Szia!
>
> Ha már xmega:
> Van olyan jelzőbit, ami az UART teljes ürességét jelzi?
> Adásnál DMA-val, RS485-ön az irányváltás miatt kellene, de a pufferek
> miatt mindig 2-byte-al előtte kapok DMA INTet, 1 byte-al meg UART-kész
> INT-et, egyik sem jó ugyebár.
> Előre is köszi!
> JAni
>
More information about the Elektro
mailing list