Witam. Mam problem. Chciałem sobie zrobić sterowanie diod rgb(takie prymitywne) przy pomocy tego proca(bo jest mały) i mam problem. nie startuje mi timer1. W symulatorze(avr studio) nie zwieksza mi się wartość tcnt1. tcnt0 działa elegancko. diody podpiete pod te wyjścia pwm dobrze działają. Sorki za pisowanie programu(szczegolnie za ustawienia rejestrów sterujących) ale to moj pierwszy projekt w c. wczesniej tylko asm. Domyslam się że wystarczy przestawić któryś bit. ale nie moge go znaleść
#define F_CPU 1000000L
#include <avr/io.h>
#include <avr/pgmspace.h> //funkcje do czytania danych z programu a także zawiera typy danych
#include <stdio.h>
#include <stdlib.h> //biblioteki standardowe
#include <util/delay.h>
int main(void)
{
DDRB = 0xFF; //jedyny port ustawiony jako wyjscie
TCCR0A = 0xF3; // ustaiwaj jak porownanie wyjdzie, fast
TCCR0B = 0x03;//preskaler na 64
TCCR1=0x07; //jw.
GTCCR=0x70;//ustaienie wyjscia 2B
OCR1C=0xFF;
OCR1B=0xF0;
unsigned char red,green,blue,jasnosc=255,pomoc,opoznienie=30;
while (1)
{
for (red=jasnosc;red>0;--red)
{
OCR0A=jasnosc-red;
_delay_ms(opoznienie);
}
for (green=jasnosc;green>0;--green)
{
OCR1B=green;
_delay_ms(opoznienie);
}
for (blue=jasnosc;blue>0;--blue)
{
OCR0B=jasnosc-blue;
_delay_ms(opoznienie);
}
for (red=jasnosc;red>0;--red)
{
OCR0A=red;
_delay_ms(opoznienie);
}
for (green=jasnosc;green>0;--green)
{
OCR1B=jasnosc-green;
_delay_ms(opoznienie);
}
for (blue=jasnosc;blue>0;--blue)
{
OCR0B=blue;
_delay_ms(opoznienie);
}
}
return 0;
}