Witam!
Mam problem z ustawieniem Timera 1 tak aby pracował w trybie Fast PWM 8-bitowym.
Chodzi mi o działanie równoległe T1 i T0.
W tym programie T0 pracuje tak jak powinno a T1 co prawda w trybie 8-bitowym, ale nie fast PWM tylko chyba Phase Correct. Tzn. zlicza najpierw w górę, a potem w dół.
Gdzie tu jest błąd?
Mam problem z ustawieniem Timera 1 tak aby pracował w trybie Fast PWM 8-bitowym.
#include <avr/io.h>
void pwm_init()
{
OCR0A=0x90; // przykładowe wartości
OCR0B=0x50;
TCCR0A=0b11110011;
TCCR0B=0b00000010;
OCR1A=0xA0;
OCR1B=0x60;
TCCR1A=0b11110001;
TCCR1B=0b00001010;
}
int main()
{
DDRB=0b00011100;
PORTB=0x00;
DDRD=0b00100000;
PORTD=0x00;
pwm_init();
while(1) asm volatile ( "nop" "\n\t" ::);;
return 0;
}Chodzi mi o działanie równoległe T1 i T0.
W tym programie T0 pracuje tak jak powinno a T1 co prawda w trybie 8-bitowym, ale nie fast PWM tylko chyba Phase Correct. Tzn. zlicza najpierw w górę, a potem w dół.
Gdzie tu jest błąd?