#define F_CPU 1000000UL #include #include #define PATTERN_COUNT 4 typedef struct { unsigned char r; unsigned char g; unsigned char b; int time_hold; }rgbval; int main (void) { // (2) rgbval pattern[PATTERN_COUNT]={{128,255,0,1000}, {0,0,153,2000}, {200,50,39,1000}, {204,255,153,2000}}; int i=0; int r,g,b = 0; //#######OC0A auf ausgang DDRB = (1 << PB0 )|(1< pattern[i+1].r) {r--;} if(g < pattern[i+1].g) {g++;} if(g > pattern[i+1].g) {g--;} if(b < pattern[i+1].b) {b++;} if(b > pattern[i+1].b) {b--;} OCR0A = r; OCR0B = g; OCR1B = b; _delay_ms(100); if(r == pattern[i+1].r && g == pattern[i+1].g && b == pattern[i+1].b) break; } } } return 0; }