Skocz do zawartości

[C] Realizacja PWM w Atmega8


Pomocna odpowiedź

Napisano

Witam, proszę o wyjaśnienie jak uzywać PWM w Atmega8, ewentualnie jakiś krótki przykładowy program... Szukałem w sieci i na forum, nie znalazlem jakiegos wytlumaczenia dla "zielonych" w ojczystym języku, a z datashitu niewiele zrozumiałem.

Jak używać - kwestia ustawienia rejestrów 😉

Na przykładzie. Zakładam używanie 8biotwego timer'a 2 (ponieważ posiada PWM) i nie używanie prescalera.

TCCR2 |= (1<<CS20) | (1<<WGM21) | (1<<WGM20);

Następnie zmieniając wartość rejestru OCR2 w skali od 0 do 255 zmieniasz wypełnienie PWM

A mógłbyć wyjaśnić jak używać tego preskalera? Siedzę nad tym już od dłuższego czasu i nic nie mogę znaleźć...

Mam coś takiego:

DDRB |= (1<<PB3); 
OCR2 = 0x80; 
TCCR2 |= (1<<WGM21)|(1<<WGM20)|(1<<COM21)|(1<<CS20);
while(1) asm("nop"); 

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...