Ich hoffe ihr könnt mir bei meinem Problem helfen...
Ich habe ein UART Beispiel nach der Anleitung vom Mikrokontroller.net-Tutorial geschrieben. Senden vom uC zum PC funktioniert ohne Probleme.... aber komischerweise bricht mir die Verbindung beim senden vom PC zum uC nach ca. 5s ab. Ich habe es so geschrieben, dass ich über das Terminal die LED's mit der Taste "a" einschalten kann und mit der Taste "s" wieder ausschalten kann. Funktioniert in den ersten 5 sekunden, danach tut sich jedoch nichts mehr.
Ich hoffe ihr könnt mir helfen. Anbei das Beispielprogramm mit Interrupts...
Code:
#include <io.h>#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#define F_CPU 4000000 // 4Mhz-Quarz
#define UART_BAUD_RATE 9600 // 9600 Baud
volatile char Daten;
SIGNAL(SIG_UART_RECV)
{
Daten = UDR;
}
int main(void)
{
UCR = (1<<TXEN) |(1<<RXEN)|( 1<<RXCIE) ;
UBRR= F_CPU/(UART_BAUD_RATE * 16L)-1;
outp(0xff,DDRC);
sei();
while(1)
{
if(Daten=='a')
{
Daten = 0;
outp(0xFF,PORTC);
}
if(Daten == 's')
{
Daten = 0;
outp(0x00,PORTC);
}
}
} [/quote]
Lesezeichen