Konfiguracja Timera z wykorzystaniem CMSIS

Jak generować przebiegi PWM na wyjściach bez obciążania procesora?

TIMERY To jedne z bardziej rozbudowanych peryferiow w mikrokontrolerach. Odliczanie czasu stanowi naprawdę niewieliki procent ich możliwości - mogą być wykorzystywane również do generowania przebiegów, zlcizania zdarzeń zewnętrznych, sterownaia silnikami, uruchamiania innych peryferiów(np np. DMA ), obsługę enkoderów, etc. Poniżej przedsatwiony zostanie spsób na konfiguirację wyjścia PWM na dwóch pinach - jest to oczywiście maly wycinek możliwości jakie oferują timery (opis ich obsługi zajmuje niemal 200 stron Reference Manuala!)

Aby osiągnąć zamierzony cel należy skonfigurować timer (preskaler i okres), kanały (polaryzacja, czas wypełnienia, przekierowanie na pint) i porty GPIO (jako alternatywne wyjścia typu Push/PULL)

Kod z użyciem CMSIS jest lekki i przejrzysty, nie ma tu potrzeby wypełniania dodatkowych struktut czy kolejnych wywoływania funkcji. W pętli głównej w ogóle nie ma potrzeby zajmować się obsługą tych dwóch pinów, wszystko dzieje się w pełni sprzętowo.

TAGS: dma, uart, ethernet