Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

moritz31

Treue Seele

  • »moritz31« ist der Autor dieses Themas

Beiträge: 259

Wohnort: Hessen

Beruf: Student

  • Private Nachricht senden

1

21.01.2013, 20:40

Problem mit Datenübertragungen

Hey Leute,

hab mir letztens ein Arduino gekauft. Bin soweit begeistert nur leider habe ich mir der Übertragung von Integerwerten Probleme.
Wenn ich normal ein Integer einlese, zeigt er mir die Ascii werte der einzelnen Zahlen an. Wenn ich das ganze nun als char einlese, bekomme ich zwar die richtigen einzelnen Zahlen
jedoch nur als einzelen Zahl und nicht als gesamte Zahl. Leider schaffe ich es nicht diese einzelnen char's zusammenzufügen und wieder zurück in einen Integer umzuwandeln.
Kann mir vllt jemand helfen?


Danke !

Lg
moritz

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

21.01.2013, 21:05

Ich werde aus deiner Problembeschreibung zwar nicht zu 100% schlau, aber ich vermute, dass du dir vielleicht mal anschauen solltest, was es mit Endianess auf sich hat... ;)

moritz31

Treue Seele

  • »moritz31« ist der Autor dieses Themas

Beiträge: 259

Wohnort: Hessen

Beruf: Student

  • Private Nachricht senden

3

21.01.2013, 21:09

also ich will zumbeispiel die zahl 100 an senden.

Wenn ich nun 100 eingebe sendet er entweder wenn ich den wert gleich in ein int einlese kommt raus:

49
48
48

wenn ich nun in ein char einelese, erhalte ich

1
0
0

jedoch schaffe ich es nicht die einzelnen zahlen zu einem gesamten zusammenzufügen. Ausgabe:

100

moritz31

Treue Seele

  • »moritz31« ist der Autor dieses Themas

Beiträge: 259

Wohnort: Hessen

Beruf: Student

  • Private Nachricht senden

4

21.01.2013, 21:37

mhh wie soll ich das noch anders erklären.

ZIEL:

Integer mit dem Wert 100 an das Board schicken

PROBLEM:

Serial.read() liest immer nur eine Zahl der Eingabe .Anstatt die Zahl 100 werden also die Zahl 1 die Zahl 0 und nochmal die 0 gelesen. Ich brauche jedoch nicht die Einzelteile sondern das komplette

jetzt besser?

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

5

21.01.2013, 21:39

1 * 100 + 0 * 10 + 0 * 1 ?

moritz31

Treue Seele

  • »moritz31« ist der Autor dieses Themas

Beiträge: 259

Wohnort: Hessen

Beruf: Student

  • Private Nachricht senden

6

21.01.2013, 21:50

ja so hatte ich mir das auch überlegt, aber der rechnet dann immer mit der ascii nummer. 1=49 folglich ist das Ergebniss 4900;

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

7

21.01.2013, 22:02

Schau dir mal so eine ASCII Tabelle an. Da wird dir auffallen das die Zahlen alle an einem Eintrag beginnen. Jetzt überlege dir, wie du von dem Tabelleneintrag (Dein Integer z.B. 49) auf die jeweilige Zahl kommen kannst. Oder anders, was hat jede Zahl gemeinsam und zu viel?
American Standard Code for Information Interchange
:love: := Go;

moritz31

Treue Seele

  • »moritz31« ist der Autor dieses Themas

Beiträge: 259

Wohnort: Hessen

Beruf: Student

  • Private Nachricht senden

8

21.01.2013, 22:06

ahhh okay danke :) jede ascii zahl - 48('0') ergibt die zahl :)

9

21.01.2013, 22:43

Dann stellt sich nur noch die Frage, wieso du nicht 100 (0x64) überträgst.
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

10

22.01.2013, 06:42

Er wird wohl entweder nicht wissen, dass er da Text sendet statt binären Werten (100 dez = 64 hex = ascii 'd') oder hat keinen Einfluss darauf, wie etwas gesendet wird. An welchem Ende er die Daten liest und woher die kommen, das hat er ja z.B. noch gar nicht verraten.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige