@avion23
Hier die Initlaisierung des PWM-Ausgangs des AtTiny461:
TimerClockSource taktet intern mit 64Mhz.Code:#warning Setup() Registereinstellungen prüfen! // Timer1 Asynchronous Mode PLL Initialization - Page88 PLLCSR = (1 << PLLE); // Enable PLL _delay_us(50); // Wait 100µs for PLL to stabilize _delay_us(50); // Split due to limits of _delay_us at frequency at 8mhz loop_until_bit_is_set(PLLCSR, PLOCK); // Poll PLock until set PLLCSR |= (1 << PCKE); // Enable Asynchronous Mode // PWM /************************************************************************************** Tiny15 - Originalvalues from Appnote: TCCR1A = 0x81; // define timer1 as 8-bit PWM TIFR = 0x80; // clear counter1 overflow flag TIMSK = 0x80; // enable counter1 overflow interrupt TCNT1 = 0x00; // set counter1 to zero TCCR1B = 0x00; // PWM disabLED Tiny461: OutPut OC1B, PB3 PWM1B = 1 Fast PWM WGM11..0= 00 Non-Inverting Compare Mode - Cleared on Compare Match COM1B1 = 1 Asynchrone Clocking Mode, Prescaler = 1 CLK = PCK CS10 = 1 8 bit from BOTTOM(0x00) to TOP(0xff) TOV1-Flag set on TOP OCR1C = 0xFF ***************************************************************************************/ TCCR1A = (1 << PWM1B) | (1 << COM1B1); TCCR1B = (0 << CS13) | (0 << CS12) | (0 << CS11) | (1 << CS10); TCCR1D = (0 << WGM11) | (0 << WGM10); OCR1C = 0xff; //TIFR = (1 << TOV1); // clear counter1 overflow flag //TIMSK = (1 << TOIE1); // enable counter1 overflow interrupt TCNT1 = 0x00; // set counter1 to zero OCR1B = 0x00; // PWM disabLED DDRB = (1 << PB3); // PB3 as Output
Prescaler = 1
PWM mit 8 bit Auslösung.
Ausgabepin ist PB3
Ausgabefrequenz 250khz







Zitieren

Lesezeichen