Wr841nd napisał: O faktycznie coś skiełbasiłem...
Chyba tak i to okropnie!
Cytat:
Probowałem to przełozyć na timer 1 i bascom wali błędami...
STR 88:
Fpwm = Fcpu/2x preskaler - (1-OCRnA )
OCRA to rejestr ... wiec trzeba mu wpisać parametr..
Stosujesz błedny wzór na częstotliwośc Fast PWM dla Timera1 ;
Poprawny wzór jest ze str 91:
w którym TOP będzie określony wartością OCR1A obliczoną stownie do oczekiwanej częstotliwości PWM .
Ponieważ potrzebujesz otrzymac wyższą/inna czestotliwośc niz 31kHz więc nie możesz tu użyc trybu 5, 6 oraz 7.
Ponadto zauważ, że dla tak dowolnie określonej czestotliwości wyjściowej dla Fast PWM nie możesz też użyc konfiguracji Timera1 w stylu:
"Config Timer1 = PWM, ..........",
będzie konieczne odpowiednie wyedytowanie rejestrów:
TCCR1A -patrz str. 96
TCCR1B -patrz str. 100
zgodnie z Tabelą 39 stosując mode 15.
P.S. Z jakiego Datasheet korzystasz że strony i wzory masz inne?
e marcus
Dodano po 23 [minuty]:
Wr841nd napisał: Panowie a może tu chodzi o Atmega 8 i 8A ? Bo juz wielu stwierdziło różnicę w katalogach....
To ty powinieneś wiedziec z którą versją pracujesz.
W tytule podałes M8 więc nie oznacza to że może by M8A.
Ponadto patrz nota Atmel:
AVR523: Migration from ATmega8 to ATmega8A, w której masz na samym początku
"The ATmega8A is a functionally identical, drop-in replacement for the ATmega8."
Ponieważ przy produkcji wykorzystano inną technologię, więc zasadnicza różnica jest w poborze prądu i niewielkie (nie istotne) odchylenia w niektórych wielkościach napięc.
Szczegóły w nocie j.w.
e marcus