Hi

Ich habe das myAVR 2 USB Board.
Nun möchte ich ein Zeichen vom PC an den Mikrocontroller senden und je nach Zeichen soll reagiert werden.
Nur kommen die Zeichen leider ganz anders an als sie sollen.
Die mitgelieferten Beispiel Programme funktionieren auch nicht.

Mein Testprogramm:

Code:
#define F_CPU 3686400
#include <avr\io.h>
#include <util\delay.h>
#include	<avr/io.h>
void uartPutString(char *buffer);
//----------------------------------------------------------------------
void uartInit()
{
	UBRRL = 23;       		//9600Baud siehe Baudratentabelle
	UCSRB = 8 + 16;         //Sender enable, Empfänger enable
}
//----------------------------------------------------------------------
char uartGetChar()
{
	char data=0;
	//warte bis RX-complete
	while (!(UCSRA&128));
	//empfangen
	data=UDR;
	return data;
}
//----------------------------------------------------------------------
void uartPutChar(char data)
{
	//warte bis UDR leer ist UCSRA / USR bei z.B.: 2313
	while (!(UCSRA&32));
	//sende
	UDR=data;
}
//----------------------------------------------------------------------
main ()
{
	DDRB = 0xFF;
	PORTB = 0xFF;
	_delay_ms(500);	
	PORTB = 0x00;

	char zeichen;

	uartInit();
	while (true) // Mainloop
	{
		zeichen=uartGetChar();

		PORTB = (1<<PINB1);
		_delay_ms(500);	
		PORTB = (0<<PINB1);
		_delay_ms(500);	

		if(zeichen=='0')
			PORTB = (0<<PINB0);
		if(zeichen=='1')
			PORTB = (1<<PINB0);

		_delay_ms(500);	
	}
}
Durch die LED an PINB1 kann ich sehen das etwas angekommen ist, aber es ist nicht das was es soll.

Ich habe schon die Baudraten 2400, 9600 und 115200 ausprobiert.
Zum senden bzw. empfangen benutze ich HTerm.

Und wie gesagt, mit den mitgelieferten Beispielprogramm welches ein String an den PC senden soll klappt es auch nicht! Es kommt zwar ein String auf dem PC an aber das ist nur Zeichensalat...

Was kann ich noch probieren?

gruß