Hallo,
ich beschäftige mich gerade damit, einen meiner Wechselrichter, welcher eine RS232 Schnittstelle besitzt mit einem Atmega8 auszulesen.
Hab mir dazu die Bedienungsanleitung des Gerätes angesehen in welcher die Parameter für die Verbindung angegeben sind:
Baudrate: 9600
Datenbits: 8
Parität: Keine
Stopbits: 1
Protokoll: Kein
Ausserdem wird auch noch eine Beispiel-Übertragung abgebildet:
Hab mir also mein µC-Lehrbuch (Roland Walter) zur Hand genommen und das Kapitel UART durchgelesen. Nun bin ich soweit gekommen das ich die Daten des Wechselrichters einlese und diese weiter an den PC sende wo sie mit einem Terminal Programm angezeigt werden, was folgendermaßen aussieht:
Sieht also schonmal sehr gut aus, verwendet habe ich dazu folgendes Listing:
Ok, soweit so gut. Nun, mein Ziel ist es erstmal die Daten auf einem Display auszugeben. Jetzt schwieren mir folgende Fragen im Kopf rum:
- Wie lange (Byte) sind die empfangenen Daten?
- Wie kann ich das empfangene jetzt auseinander trennen um es weiter zu verarbeiten? (Sind 10 Werte, siehe erstes Bild)
- Gibt es bessere Methoden die Werte auszulesen?
Hab schon nach einer Lösung gesucht und es sollte ungefähr so hinhauen: Die Empfangenen Daten bestehen ja aus mehreren Bytes, diese werden hintereinander in eine Variable geschrieben. Mit Hilfe von Overlay-Variablen kann man dann die Variable auftrennen/aufteilen.
Ist das der richtige Weg, oder liege ich total falsch?
Gruß und danke!
ich beschäftige mich gerade damit, einen meiner Wechselrichter, welcher eine RS232 Schnittstelle besitzt mit einem Atmega8 auszulesen.
Hab mir dazu die Bedienungsanleitung des Gerätes angesehen in welcher die Parameter für die Verbindung angegeben sind:
Baudrate: 9600
Datenbits: 8
Parität: Keine
Stopbits: 1
Protokoll: Kein
Ausserdem wird auch noch eine Beispiel-Übertragung abgebildet:
Hab mir also mein µC-Lehrbuch (Roland Walter) zur Hand genommen und das Kapitel UART durchgelesen. Nun bin ich soweit gekommen das ich die Daten des Wechselrichters einlese und diese weiter an den PC sende wo sie mit einem Terminal Programm angezeigt werden, was folgendermaßen aussieht:
Sieht also schonmal sehr gut aus, verwendet habe ich dazu folgendes Listing:
Ok, soweit so gut. Nun, mein Ziel ist es erstmal die Daten auf einem Display auszugeben. Jetzt schwieren mir folgende Fragen im Kopf rum:
- Wie lange (Byte) sind die empfangenen Daten?
- Wie kann ich das empfangene jetzt auseinander trennen um es weiter zu verarbeiten? (Sind 10 Werte, siehe erstes Bild)
- Gibt es bessere Methoden die Werte auszulesen?
Hab schon nach einer Lösung gesucht und es sollte ungefähr so hinhauen: Die Empfangenen Daten bestehen ja aus mehreren Bytes, diese werden hintereinander in eine Variable geschrieben. Mit Hilfe von Overlay-Variablen kann man dann die Variable auftrennen/aufteilen.
Ist das der richtige Weg, oder liege ich total falsch?
Gruß und danke!