Hi,

beim einfügen der "Selbst-Vorstellung" über die serielle Schnittstelle, mußte ich festsetllen, daß die Zeile
( USART_transmit_string ("Programm zur Spannungsueberwachung 10/2004 "); )
immer wieder aufgerufen wird.

Könnte das am Interrupt liegen ? Habt Ihr irgendwelche Ideen ?

Code:
#include <avr/io.h>
#include <stdlib.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include <simple_delayroutinen.c>
#include <io_modul.h>

volatile unsigned int grenzwert;
int hilfs;

SIGNAL (SIG_UART_RECV) {
	
	hilfs=empfange();
	
}


int main (void) {

grenzwert=800;
//Intialisierung
	USART_Init ();
	ad_init();
	set_id();
	v_ref(5);
	
	// Text ausgabe. Wiederholt sich unendlich. Warum ???
	
	USART_transmit_string ("Programm zur Spannungsueberwachung 10/2004 ");	
	USART_transmit('\n');
	USART_transmit('\r');
	
	
	
	DDRB = 0xff;
	
// Variablen	
	int x=0;
	char buffer [10];
	unsigned erg=0;
	
	
	
	sei (); // Interrupt erlauben
	

	
	delay_ms(8000); //Einschaltzeitverzögerung	
	
for(;;){
	
PORTB = 0xff; 	

		for (int i=0;i<=3;i++) // Überwachen der Ports 0 bis i
		{
			erg=ad_port(i); 		// Port auslesen
			if(erg < grenzwert)									
			{	
			
			PORTB = 0xff-0x02;
			delay_ms(1000);	 // Wenn Wert zu niedrig Pin2 von Port B einschalten
			
			}

		}
		}
		
return 0;
}