www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik negative Zahlen über die RS232


Autor: Benshee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich möchte gerne von meinem mega32 negative Zahlen übertragen aber auf 
dem PC kommt dann nach 0 nur noch 255 254 253 für -1 -2 -3 usw. an.

int Temp[] = {-3,-2,-1,0,1,2,3,4 usw.}

ICh nutze AVR gcc /AVR STudio und ein Windows 3.11 mit einem BASIC 
Programm (RS232 abfrage) als PC .

Wie kann ich das machen , das ich auf dem PC -3 -2 -1 sehe ??


Vielen Dank

Autor: remo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Liegt nicht am c sondern an deinem Basic Programm.
Du musst einem Basic beibringen, dass die Werte nicht "unsigned" sind.
Falls du keinen geigneten Datenwert hast, dann wandle doch einfach mit 
einem kurzen Befehl den Wert selber um, wenn > 127 übertragen wird.
so z.B.
if zahl > 127; zahl = zahl - 256

Viel Glück
Remo

Autor: Benshee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Scheinbar gibt es in BASIC kein unsigned. Aber ich werde es so mal 
versuchen

Danke

Autor: Zacc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zahlen und Byte haben eigentlich sehr wenig miteinander zu tun. Deshalb 
muss die Bedeutung zugewiesen werden. Dasselbe trifft auch fuer Char und 
String zu. Bei Zahlen muss man zuerst die Byteorder definieren. Das kann 
LittleEdnian oder BigEndian sein. LittleEndian heisst Low byte on low 
adresss, BigEndian  hat highb yte on low adress. Dann gibt's noch Sign 
oder nicht, und float.

Z

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der RS 232 ist es völlig egal ob die übetragenen 8 Bit ein Unsigned oder 
ein Signed Byte darstellen.

Du musst auf dem PC wissen welches Format das empfangene Byte besitzt, 
und dieses Byte dann dementsprechend auswerten.

Ohne eine manuelle Formatierung wird jedes empfangene Byte immer als 
unsigned interpretiert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.