www.mikrocontroller.net

Forum: PC-Programmierung Visual Basic Int senden


Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Forenmitglieder,
Ich habe eine Frage zu Visual Basic 2010.
Ich möchte gerne über die serielle Schnittstelle ein Int senden. Die 
Funktion, die bereits integriert ist, lässt jedoch nur Strings zu und 
konvertiert sie letztendlich auch in diese Format.
Wie bekomme ich es nun trotzdem hin, den blanken Integer Wert zu senden?
Ich wünsche euch allen schonmal einen guten Rutsch und viel Glück für 
das bevorstehende Jahr 2011.
Gruß

Autor: Valentin Buck (nitnelav) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit der .toString()-Funktion und am anderen Ende atoi?
Also erst den Int in einen String und dann den String in einen Int?

Ansonsten könntest du ihn auch in eine Byte kodieren und dann einzeln 
senden, aber ich glaube das willst du nicht (umständlich).

Mit freundlichen Grüßen,
Valentin Buck

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm.
Wäre es denn einfacher, ein Unsigned Char zu senden?
Gruß

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Valentin Buck schrieb:
> Wie wäre es mit der .toString()-Funktion und am anderen Ende atoi?
> Also erst den Int in einen String und dann den String in einen Int?
>
> Ansonsten könntest du ihn auch in eine Byte kodieren und dann einzeln
> senden, aber ich glaube das willst du nicht (umständlich).

Das wäre der normale Weg. Die Serielle kennt nur Bytes, also muss alles 
"aufgeteilt" werden.
Was ist an
 Dim resArray As Byte( ) = BitConverter.GetBytes(123456)
 serialPort.Write(resArray, 0, 4) 
umständlich?

> Mit freundlichen Grüßen,
> Valentin Buck

Autor: Frankie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arc Net schrieb:
> Dim resArray As Byte( ) = BitConverter.GetBytes(123456)
>  serialPort.Write(resArray, 0, 4)

Kann mir jemand genau erklären, wie das funktioniert.

Es wird zuerst ein Array erstellt. Aber was macht den der BitConverter 
und wieso schreibt man hinter dem res Array eine 0 und eine 4?

Vielen Dank für eure Hilfe.

Autor: Oliver Punk (Firma: UAS Merseburg) (olipunk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Frankie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, der Bit Converter nimmt die Zahl und packt die in ein Array.

Dieses Array wird dann wieder auf dem Port ausgegeben. Hat die 0 und 4 
was mit den Feldern im Array zu tun?

Autor: Oliver Punk (Firma: UAS Merseburg) (olipunk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frankie schrieb:
> Hat die 0 und 4
> was mit den Feldern im Array zu tun?

http://msdn.microsoft.com/de-de/library/ms143551(v...

Offset + Länge! Steht alles da!

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.