PWM w ATTiny2313 - co robie zle?

witam

mam problem z odpaleniem PWM w tiny2313 ...

Ustawiam T0 w trybie FastPWM, wylaczam wszystkie przerwania, ustawiam poczatkowa wartosc OCR0A na 192 i ok - na wyjsciu mam przebieg z wypelnieniem 75%

ale gdy zmienie wartosc OCR0A po pierwszeym przepelnieniu licznika - jest to ignorowane totalnie... moge sobie dowolnie zmieniac wartosc, a i tak na wyjsciu mam ciagle poczatkowe ustawienie... ;/

co robie zle?? wiem ze rejestry OCRxx sa buforowane i wg. noty wartosc jest przepisywana z bufora do rejestru gdy licznik sie przepelni, ale to raczej nie ma nic wspolnego... cokolwiek nie zapisze do OCRxx - dalej mam wartosc poczatkowa na wyjsciu

przeczytalem juz z 10 razy rozdzial o licznikach w datasheecie i nadal nie wiem gdzie jest haczyk ;/

z 16bitowym timerem jest to samo - wartosc na wyjsciu nie zmienia sie, mimo zapisywania roznych wartosci do OCR1A

help i z gory dzieki...

Reply to
Michal Wysocki
Loading thread data ...

moze jeszcze kod dorzuce

#define __AVR_ATtiny2313__ #include <avr/io.h>

#include <avr/sfr_defs.h>

void Delay(unsigned char ms);

int main() { unsigned char x = 0; unsigned short y = 0; DDRD = 0xFF; DDRB = 0xFF; WDTCSR = 0; TCCR1A = BV(COM1A1) | BV(COM1A0) | BV(COM1B1) | BV(COM1B0) | BV(WGM10); TCCR1B = BV(WGM12) | BV(CS01); TCCR1C = 0;

TIMSK = 0; cbi(SREG, SREG_I);

OCR1A = 0x80;

while(1) { Delay(100); OCR1A = 0x10; Delay(100); OCR1A = 0xF0; } }

Na wyjsciu mam caly czas 50% (0x80), wartosci z petli sa ignorowane :(

Reply to
Michal Wysocki

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.