Hallo, danke für die Codes aber ich habe versucht meinen Code zu nutzen mit dem Tipp von Siro, sonst ist der lern effekt gleich null....
Habe das ganze jetzt ein wenig umgebaut, das blinken konnte ich so beheben![]()
Jetzt habe ich aber das Problem das die LED nicht zurück Faded wenn ich das High Signal auf Low ziehe.....
externer Pull-down Wiederstand ist vorhanden...
Kann mir jemand noch einen Tipp geben, habe schon alles verucht mit "else if" oder "else" nur "if", ich habe den verdacht das der Code sich nach der ersten If abfrage hängen bleibt...
Code:#include <avr/io.h> #define F_CPU 1200000UL // 1,2 MHz #include <util/delay.h> int main (void) { DDRB =(1<<PB0); // Ausgang PB0 TCCR0A=(1<<COM0A1) | (1<<WGM00) | (1<<WGM01); // PWM Phase Korrigieren, OCR0A an TOP setzen TCCR0B=_BV(CS01) ; // Prescaler 8 int a=5; // Min Wert für Lichtstärke int b=255; // Max Wert für Lichtstärke while (1) { { OCR0A = a; // Startpunkt mit Min Lichtstärke if (PINB & (1<<PB3)) // Prüfe auf High Signal an PB3 { if (a <255) a++; // Wenn Wahr dann erhöhe in 5s auf den Wert "b" _delay_ms(5); } else // (!(PINB & (1<<PB3))) // Prüfe ob PB3 Low wenn Wahr zurück zu "a" { if (b >10) b--; // Wenn solange der wert Max gößer als Min dann b-- _delay_ms(5); // OCR0A =a; } } } return 0; }







Zitieren

Lesezeichen