Hallo

Danke für die Anteilnahme und die Tipps. Mein Favorit ist im Moment die Versorgungsspannung. Ich habe irgendwo gelesen, dass die AVRs sehr empfindlich reagieren wenn am ADC eine höhere Spannung anliegt als die Referenz. Das könnte eventuell beim Einschalten passieren. Ich werde nun auf jeden Fall eine Diode in Reihe schalten um mehr Abstand zu den 5,5V zu bekommen.

Es geht natürlich immer besser, wenn man etwas tüftelt:

Code:
	DDRA |= 16;				// E_INT1 als Ausgang
	cli();
	while(1)
	{
		x ^= 16;
		PORTA = x;
	}
wird so übersetzt:
Code:
	DDRA |= 16;				// E_INT1 als Ausgang
 1bc:	d4 9a       	sbi	0x1a, 4	; 26
	cli();
 1be:	f8 94       	cli
 1c0:	90 e1       	ldi	r25, 0x10	; 16
 1c2:	80 91 e6 00 	lds	r24, 0x00E6
	while(1)
	{
		x ^= 16;
 1c6:	89 27       	eor	r24, r25
		PORTA = x;
 1c8:	8b bb       	out	0x1b, r24	; 27
 1ca:	fd cf       	rjmp	.-6      	; 0x1c6 <main+0x12>
Nur noch ein XOR, ein OUT und ein Sprung in der Schleife ergibt 4 Takte oder 2MHz externer Takt für den Tiny. Hab's aber noch nicht versucht, dürfte auch keine wesentliche Veränderung sein.

Gruß

mic