- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 2 von 2

Thema: ziffern über udr

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.02.2005
    Beiträge
    39

    ziffern über udr

    Anzeige

    Praxistest und DIY Projekte
    so ... wieder einmal ein problem

    ich sende vom computer über den seriellen port an den AVR folgendes:
    X0406 (Beispiel)

    die 04 soll nun als zahl eingelesen werden bzw die 06 auch...

    hab mir gedacht das ich erstmal 5 zeichen von dem udr lese und in einem byte array (varCmd) speicher...
    funtzt auch

    aber wenn ich nun die 04 (varCmd(2) und varCmd(3)) zusammen in einem integer speichern möcht geht das irgendwie net
    dabei muss ich ja nur die 1. ziffer (varCmd(2)) mal 10 nehmen und die 2. ziffer (varCmd(3)) addieren
    in diesem Fall: 0*10 + 4
    hab das so gelöst:
    ...
    Dim Calctmp1 As Integer 'temp. vars zum rechnen
    Dim Calctmp2 As Integer
    Dim varCmd(5) As Byte
    ....
    Calctmp1 = varCmd(2) * 10
    Calctmp2 = Calctmp1 + varCmd(3)
    ...
    dann müsste in dem beispeil Calctmp2 ja den inhalt "4" haben oder?
    hats aber net...

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    ganz einfach: folgendes kommt über die udr rein
    X 88 (ascii)
    0 48
    4 52
    0 48
    6 54

    vom wert musst du noch 48 abziehen dann hast du den zahlenwert: also
    wenn du nun beide zu einem byte zusammenfassen willst (du musst vorher von allen werten 48 abziehen)

    if (varcmd(2))=0 then variable=0
    if (varcmd(2))=1 then variable=10
    if (varcmd(2))=2 then variable=20
    usw
    danach variable=variable+varcmd(3)

    0
    4
    0
    6

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress