• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Jak ustawić funkcje czasu wyjścia na określony i off
#15
(04-07-2019, 21:35)Robson Kerman napisał(a): Do sześciu sekund się nie da, ponieważ ICR1 może wynosić najwyżej 65535 (10bit).
Nie chce mi się grzebać w manualach więc nie wiem czy w każdym AVR PWM na timerze 1 może pracować w trybie 16-bit ale w Mega328 na pewno tak:
Cytat:16. 16-bit Timer/Counter1 with PWM
16.1 Features
• True 16-bit Design (i.e., Allows 16-bit PWM)
a to pozwala uzyskać czasy do ponad 4 sekund przy taktowaniu 16MHz i preskalerze 1024. Zmniejszając taktowanie do 8MHz czas zwiększy się do ponad 8 sekund z rozdzielczością 1,28ms.

Nie byłbym sobą, jak bym nie porównał AVR do ARM. W STM 32, nawet na 16-bit timerze, można uzyskać przy taktowaniu 16MHz, czasy do 268 sekund z rozdzielczością ok 4ms (preskaler można ustawić w zakresie 1..65535). Sygnał taktujący można dodatkowo podzielić przez 2 lub 4 wydłużając czas jeszcze bardziej. Wiele STM32 ma timery 32-bit ale w każdym, można dwa 16-bit połączyć w jeden 32-bit (w AVR tylko robiąc połączenie na zewnątrz układu). Timer 32-bit pozwala przy taktowaniu 180MHz, uzyskać czasy do 18dni z rozdzielczością niecałe 400ns a z dodatkowym podzielnikiem przez 2 lub 4 - sami policzcie.

Jak więc widać, nawet w banalnym projekcie, AVR wymaga większych nakładów czasu pracy nad softem aby uzyskać efekt, który w STM32 uzyskuje się kilkoma linijkami kodu.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Jak ustawić funkcje czasu wyjścia na określony i off - przez es2 - 04-07-2019, 22:17

Skocz do:


Przeglądający: 1 gości