Można nie używać DMA i obciążać CPU w 100% i mieć problemy z obsługą pilota.
Można się namęczyć aby na AVR (na ARM tak 7..20 razy łatwiej) sterować LED'ami przez UART na przerwaniach. Z obsługa pilota nie będzie problemu.
Chcesz bez DMA, przerwań, DA SIĘ!
Nakombinujesz się wstawiając jakieś sprawdzania w czasie wystawiania "L" do WS2812 czy jest aktywne wejście odbiornika IR, obsłużysz go. Wszystko będzie chodzić kulawo, bo w czasie transmisji IR LED będzie głupieć.
Ja bym takiego szmelcu nie chciał.
Rób jak uważasz.
Rozwiązanie na USART + IRQ na AVR działa, obciążenie CPU 80..90%.
Z DMA obciążenie 1..2% zależnie od uC, zegara.
Można się namęczyć aby na AVR (na ARM tak 7..20 razy łatwiej) sterować LED'ami przez UART na przerwaniach. Z obsługa pilota nie będzie problemu.
Chcesz bez DMA, przerwań, DA SIĘ!
Nakombinujesz się wstawiając jakieś sprawdzania w czasie wystawiania "L" do WS2812 czy jest aktywne wejście odbiornika IR, obsłużysz go. Wszystko będzie chodzić kulawo, bo w czasie transmisji IR LED będzie głupieć.
Ja bym takiego szmelcu nie chciał.
Rób jak uważasz.
Rozwiązanie na USART + IRQ na AVR działa, obciążenie CPU 80..90%.
Z DMA obciążenie 1..2% zależnie od uC, zegara.