ärgerlich, es klappt leider nicht so wie ich es möchte.
Folgendes Signal möchte ich ja gerne:
Bild hier  
Dieses Signal hat folgender Code erstellt:
Code:
#include <avr/io.h> 
#include <avr/interrupt.h> 

#define F_CPU 8000000 
#define timer (256-F_CPU/64/20000) 

int ms; 											//Interuptzählvariable

ISR(TIMER0_OVF_vect)                                 //Timer Interrupt Vector 
{
	TCNT0 = timer; 									 //Interupt auf 20000Hz einstellen (Alle 0.05ms ein Interupt)
	ms++; 
	if(ms>=370)
	{
		PORTB |= (1<<PORTB0);
	}
	if(ms>=400)
	{
		PORTB &= ~(1<<PORTB0); ms = 0;
	}
}

int main(void) 
{

	//Ports Init 
	DDRC |= (1<<PORTB0); 

	//Timer Init 
	TIMSK |= (1<<TOIE0); 							//Timerinterrupt freigeben 
	TCCR0 |= (1<<CS00) | (1<<CS01) | (!(1<<CS02));  //Timer Prescaler = 64 

	sei();                                          //Interrupts global aktivieren 

	//main Schleife 
	for (;;) 
	{

	}

}
Genau dieser Code erzeugt aber manchmal... wie z.B. jetzt dieses Signal:
Bild hier  

Mir ist es absolut unverständlich. Ich habe auch schon den Controller gewechselt.

Das mein Board kaputt ist kann fast nicht sein, resp. es gibt keinen Grund dazu. Ich verwende ein MysmartUSB v2.

Plötzlich wird aus 2.6...2.7V --->500mV. Da stimmt doch was nicht.
Und die starkabfallenden flanken....