Skocz do zawartości

Program - połączenie PWM


adrian

Pomocna odpowiedź

Witam mam takie pytanko co do PWMu,

mianowicie póki co miałem 2 programy jeden obsługujący silnik w trybie 14 Fast PWM dla atmegi 8 timer 1 oraz 2 program z trybem CTC i teraz chciałbym połączyć te dwa programy w całość tj.:

int main()
{
tu konfiguracja odpowiednia do programu dla silnika

    while(1)
    {
     program dla silnika

        zmiana odpowiednich ustawień TCCR1A oraz TCCR1B na tryb CTC

     if(jakiś warunek sygnalizujący stop dla silnika)
         {

                {
                program dla serwa
                }
         }
    }
}

i w związku z tym mam pytanie czy można w taki spsób mieszać ustawienia timera 1, dodam tylko że przy zmianie trybu FAST PWM wyzerowałem odpowiednio bity WGM11 oraz WGM13 tak by byly one w stanie niskim dla trybu CTC,
chodzi mi o to czy można w ten sposób tak zrobić, ponieważ serwo się nie uruchamia?

pozdrawiam

Link do komentarza
Share on other sites

Tak, możesz zmieniać w czasie pracy mikroprocesora tryb timera. Pamiętaj tylko o ustawieniu wszystkich rejestrów.

Poprawnie przed zmianą konfiguracji timera powinieneś go zatrzymać, potem dopiero zmienić konfigurację i na koniec ponownie wystartować.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.