Hier ist ja noch mehr rätselhaft:
Zitat:Ich möchte Werte von -8192 bis 8192 am ADC einlesen und an den FPGA senden und an der RS232schnittstelle wieder ausgeben
D.h. die ADC-Werte gehen in den FPGA rein und werden nach dessen interner SR232-Schnittstelle weitergleiete. Es ist davon auszugehen, daß der FPGA nur 8, 16, 32... bit -Register hat. Dh. er kann ger nicht anders, als intern die ADC-Werte auf 16bit-Format zu konvertieren uns so an die Schnitttelle auszugeben.
Für die Konvertierung in String und wieder zurück gibt es zwei Möglichkeiten:
[attachment=60625:1.png]
Oberes Bild: Direkte Konvertierung von I16 in zweistelligen (hyroglyphischen) String. Nachteil: Zur Dateinübertragung lassen sich keine Steuerzeichen, wie z.B 0xA, verwenden, da die Daten selbst alle Werte von ASCII 0..255 enthalten können.
Unteres Bild: Als HEX-String. Nachteil: Man benötige 2 Zeichen pro Byte, d.h. der gesmate Strin enthält 4 (lesbare) Zeichen . Man kann aber Steuerzeichen bei der Datenübertragung verwenden.
Solange es keine Probleme mit der Übertragungsgeschwindigkeit gibt, sollte man besser Methode 2 benutzen und an den String ein Zeilenende-Zeichen anhängen.
Man könnte die Datenübertragung sogar als Dezimal-String gestalten. d.h -8192..8193 wird direkt als Dezimal-String gesendet. Man bräuchte dann mit Vorzeichen max. 5 Zeichen, hätte aber den Vorteil, daß die Daten im String direkt lesber sind.