Skocz do zawartości

[C] [C][ATMEGA168][COUNTER2] PWM


Amistar

Pomocna odpowiedź

Witam. Chce w Atmedze168 uruchomić PWM na pinie PD3 - jest to wyjście OC2B timera2.

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h> 

int main(){

DDRB |= _BV(PD3);
TCCR2A |= 0b00110001;
TCCR2B |= 0b00001111;
OCR2B = 100;
TIMSK2 |= 0b00000100;

for(;;){
_delay_ms(100);
}
}

Kompiluje, wgrywam, zero trudności.

Potem sprawdzam i na oscyloskopie nic. na wyjściu PD3 cały czas stan niski.

O czymś zapomniałem ?

[ Dodano: 08-06-2012, 17:12 ]

błąd jest w

DDRB |= _BV(PD3);

to poprawiłem uzyskując taką wersje programu:

int main(){

sei();
DDRD|= _BV(PD3);
_delay_ms(2);
TCCR2A |= 0b10110011;
_delay_ms(2);
TCCR2B |= 0b00001111;
_delay_ms(2);
OCR2B = 0b10000001;
_delay_ms(2);
OCR2A = 0b10001001;
_delay_ms(2);
TIMSK2 |= 0b00000100;
_delay_ms(2);

i teraz jak usunąć albo OCR2A albo OCR2B to przestaje działać 😉 pokręcone...

tak jakby bity w tych rejestrach były w innej kolejności niż w datasheetcie

dodano:

Już wiem - te śmieszne błędy wynikają ze złego ustawienia bitu WMG22.

Teraz wszystko śmiga jak chcę. Dziękuje za pomoc, temat do kosza. Wszystkie te przygody przez jedną głupią litere ;/

dodano(01:02 09.06.2012):

Niedawno robiłem na pracowni wzmacniacze całkujące i nie widziałem zastosowań w nabliższym czasie, teraz widze, że to cholernie przydatne układy 😉 zrobiłem na takim wzmacniaczu i sygnale pwm przetwornik C/A 😉

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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