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:
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.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
Funktion, um ein Byte zu senden:
Funktion, um zu prüfen, ob der PC Daten gesendet hat (wenn ja, dann liefert diese Funktion "true"):Code:void serial_sendbyte(unsigned char i) { while( !(UCSRA & 32) ); //senden UDR=i; }
Funktion, um das empfangene Byte zu lesenCode:bool serial_available() { if(UCSRA & 128){return true;} return false; }
Die Funktionen senden nur Bytes. Das Terminal zeigt sie sowohl als Dezimalzahlen als auch als Text an (ASCII Tabelle sagt dir vielleicht was)Code:unsigned char serial_receive() { //bis Daten empfangen while( !(UCSRA & 128) ); //einlesen return UDR; }
Grüße,
Bernhard







Zitieren

Lesezeichen