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







Zitieren

Lesezeichen