Hallo,
ich habe eine Problem.
Ih benutze AVR Mega32 und zum programieren CodeVisionAVR.
In meinem Programm soll µC und Sensor(dazwiechen ADA-Modul) über RS232 unterhalten.
Eigentlich klapt es prima, aber wenn es keine Verbindung zwieschen beiden stellt, hängt meine Programm. Ich möchte in Programm realisieren, wenn es kein Antwrot von Sensor kommt, muss eine Fehlermeldung auf LCD ausgegeben werden.

Code:
void GetDataAdam (char *sensor, char *data)		//Variablen "sensor" und "data" werden übergeben
	{       
        	int probe1, probe2;                             // Definition integer-Variable
        	do
        	{
       			do
	       		{
       	      			PORTD.2=1;                   	// LTC485 wird angeschaltet   
        
       	       			PORTD.5=1;                   	// LTC485 auf "Senden" schalten   
       	       			delay_ms(100);              	// kurz warten...
       	      			printf("%s",sensor); 		// Abfrage Senden, ADAM Eingang x Adresse 0xHEX                                                          //("#01x<CR>")(x steht für Sensornummer)	
       	      			delay_ms(3);                  	// kurz warten...
       	 	     		PORTD.5=0;                   	// LTC485 auf "Empfangen" schalten
       	      			gets(data,9);               	// Daten vom seriellen Port in Variable Datax                                                            //kopieren (>+00.000<CR>")  --> maximal 9 Zeichen
       	      			PORTD.2=0; 			// LTC485 wird abgeschaltet  	
            	  		probe1=(data[2]-0x30);		// zweite Zahl vor den Komma der Sensordaten ablesen
            	  		probe2=(data[3]-0x30);          // erste Zahl vor den Komma der Sensordaten ablesen
            	  		
            		}
       			
       			while( probe1!=0 && probe1!=1 );       //Überprüfen ob die Daten von Solarsensor richtig abgelesen wurde(zweite Zahl vor den Komma) 
		        
		        
	        }
		while(probe2>=9 && probe2<=0 );                //Überprüfen ob die Daten von Solarsensor richtig abgelesen wurde(erste Zahl vor den Komma)
	
	}
Ich habe schon was gelesen, dass ich mit Interrupt was machen kann, aber wie, habe ich keine Ahnung(ich bin noch Anfänger). Oder giebt es andere Möglichkeit.

Dank voraus.