-         

Ergebnis 1 bis 4 von 4

Thema: rn-keylcd_tasten-dezimaldarstellung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2008
    Beiträge
    7

    rn-keylcd_tasten-dezimaldarstellung

    Anzeige

    ein freundliches hallo an alle!!

    meine hard- und software: RN-Control 1.4, über I2C mit rn-keylcd 1.2 verbunden, bascom.

    mir raucht der kopf, -jetzt frag ich einfach mal:

    ich möchte z.b. die mehrstellige zahl "180" eintippen, und "180" soll dann auch auf dem display erscheinen.
    in RN-Control will ich dann auch mit der zahl "180" weitrrechnen.

    -für einstellige zahlen krieg ich das hin, aber eben nicht für mehrstellig!

    -kein beispielprogramm konnte mir helfen. -wahrscheinlich ist es total simpel, und vielleicht schüttelt hier jemand das ja aus dem ärmel.

    für hilfe wär ich seeeehr dankbar!!!!

    grüße,
    andreas (tomhut)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.382
    ich weis nichts von der technik aber wenn ich schüttle kommt nur folgendes heraus auch wenns garantiert NICHT höchst-effektiv ist
    Code:
    uint val = 23628;
    uint temp = val; // du willst schliesslich mitt dem wert weiter rechnen
    uint div = 10000; // reicht für uint weil max = 56k ist
    for(;div > 0; div = div / 10)
    {
       output(temp/div); // spuckt dir zunächst die 10000er stelle 
                                // dann die 1000er usw. aus ... 
                                //evtl. +48 rechnen damit es ein ascii wird
       temp = temp%div;
    }
    output(val); // einerstelle da div == 0
    EDIT: vergessen zu erwähnen sinn des ganzen ist das du vermutlich eine mehrstellige anzeige mit ascii chars hast, du musst als 10000er 1000er usw. EINZELN auf das display schieben

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2008
    Beiträge
    7
    danke für die prompte antwort!
    -sieht ganz logisch aus, hilft mir bei meiner hardware aber nur bedingt.
    -theoretisch hat's mich aber ein stückchen weitergebracht!
    -das problem liegt tatsächlich in der mehrstelligkeit.
    danke

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.382
    dreh den alorithmus doch einfach um ?!

    loop
    val += input*mul; // mit 1er beginnend
    mul *= 10;
    continue

Berechtigungen

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