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;
}
Lesezeichen