gut 
Als Terminal verwende ich das von Burkhard Kainka: 
Hier ist es
Damit funktionieren auch die USB-auf-seriell-Adapter problemlos (habs selber ausprobiert).
Erst mal musst du den ganzen UART-Kram aktivieren und konfigurieren:
	Code:
	//Die Zahlenwerte hier sind für eine Baudrate von 9600 bei Verwendung eines 16Mhz-Quarzes gewählt
UBRRH=0;				//Baudrate
UBRRL=103;				//Baudrate
UCSRB=0b00011000;		//internen UART einschalten
UCSRC=0b10000110;		//Datenformat: 8 Datenbits, no Parity, 1 Stopbit
 Die Werte für UBRRH und UBRRL geben die Übertragungsgeschwindigkeit an. Die Zahlenwerte dafür musst du im Datenblatt vom Atmega32 ab Seite 163 in der Tabelle - abhängig von Taktfrequenz und Baudrate ablesen.
Funktion, um ein Byte zu senden:
	Code:
	void serial_sendbyte(unsigned char i)
{
 while( !(UCSRA & 32) );
 //senden
 UDR=i;
}
 Funktion, um zu prüfen, ob der PC Daten gesendet hat (wenn ja, dann liefert diese Funktion "true"):
	Code:
	bool serial_available()
{
 if(UCSRA & 128){return true;}
 return false;
}
 Funktion, um das empfangene Byte zu lesen
	Code:
	unsigned char serial_receive()
{
 //bis Daten empfangen
 while( !(UCSRA & 128) );
 //einlesen
 return UDR;
}
 Die Funktionen senden nur Bytes. Das Terminal zeigt sie sowohl als Dezimalzahlen als auch als Text an (ASCII Tabelle sagt dir vielleicht was)
Grüße,
Bernhard
						
					
Lesezeichen