Witam.
Napisałem taki prosty program:
Jednak nie włącza mi się w ogóle PWM-ka OC1B. Już kilka razy czytałem notę ale nie mogę znaleźć miejsca gdzie robię błąd.
Napisałem taki prosty program:
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
int main(void)
{
DDRB = 0xFF;
TCCR1 = 1<<CS12;
GTCCR = 1<<PWM1B | 1<<COM1B1 | 1<<FOC1B;
OCR1B = 125;
TCCR0A = 1<<COM0A1 | 1<<COM0B1 | 1<<WGM00 | 1<<WGM01;
TCCR0B = 1<<FOC0A | 1<<FOC0B | 1<<CS01;
OCR0A = 125;
OCR0B = 125;
int a,b,c;
srand (100); // Zamiast 100 mozna dac odczyt z wiszacej nozki ADC
while(1)
{
a=rand()%255;
b=rand()%255;
c=rand()%255;
OCR1B = a;
_delay_ms(10000);
OCR0A = b;
_delay_ms(10000);
OCR0B = c;
_delay_ms(10000);
}
}Jednak nie włącza mi się w ogóle PWM-ka OC1B. Już kilka razy czytałem notę ale nie mogę znaleźć miejsca gdzie robię błąd.