- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: atmega32 binärwert in dezimal-komma zahl

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2013
    Beiträge
    21

    atmega32 binärwert in dezimal-komma zahl

    Anzeige

    Powerstation Test
    da ich Neuling in dem Gebiet C-Programmierung bin, ist meine Frage wie ich von einem 4-stelligen Binärwert, welchen ich auf meinem Display ausgegeben habe, in einen Komma-Dezimal-Wert umrechnen bzw. programmieren kann.

    Ich bitte um Hilfe

    Danke im Voraus

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Wenn ich dich richtig verstehe, dann könnte man das mit itoa machen etc.

    Falls auf dem Display nur Fragezeichen auftauchen, dann eventuell mal diesen Artikel lesen http://www.mikrocontroller.net/artic...mit_AVR-Studio
    Grüße,
    Daniel

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2013
    Beiträge
    21
    Auf dem Display steht ein Dezimalwert vom Speicher ausgelesen 1024, aber ich möchte diesen Wert als Dezimal-Wert umrechnen...

    Danke trotzdem Daniel

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Na wo haste den denn her? Vom ADC ? Dann muss erst die Referenzgröße verrechnet werden, damit du deine Fließkomma zahl bekommst und diese aufs Display ausgibst.
    Grüße,
    Daniel

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    @Jasmin: Was genau willst du eigentlich machen? Uns so einen Mini-Brocken hinzuwerfen macht es schwer dir zu helfen.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Mal nur so, zur Begriffsbestimmung - auch wenns pingelig klingt.
    Zitat Zitat von Jasmin13 Beitrag anzeigen
    ... einem 4-stelligen Binärwert ... einen Komma-Dezimal-Wert umrechnen ...
    Hier ist ein Binärwert gezeigt (aus einer RC-5-Decodierung) der in eine dezimale Entsprechung umgerechnet wird - Zeile 3 bis 8 im folgenden Codefenster.

    Code:
     C501 R5M_x15 m1284p/20MHz 27Nov2012 15:28
    ...
    11000000010100  => dez: 20 , RCges_zt = 483
    11100000011001  => dez: 25 , RCges_zt = 482
    11000000100011  => dez: 35 , RCges_zt = 482
    11100000011011  => dez: 27 , RCges_zt = 482
    11000000001010  => dez: 10 , RCges_zt = 484
    11100000000110  => dez: 6 , RCges_zt = 483
    Binärzahlen - auch Dualzahlen genannt - bestehen aus den Ziffern 1 und 0. Einen vierstelligen Binärwert in einen "Komma"-Wert umrechnen - also in eine Gleitkommadarstellung der Art 3,14 ist wohl nicht möglich (genauer könnt ich das ausführen, aber das ist hier sicher nicht von Bedeutung).

    Zitat Zitat von Jasmin13 Beitrag anzeigen
    Auf dem Display steht ... 1024 ... möchte diesen Wert als Dezimal-Wert umrechnen ...
    Dieser Wert ist schon ein Dezimalwert - vermutlich. Natürlich könnte es auch eine Darstellung in oktal, hex oder gar auf einer total ungewöhnlichen Basis sein. Nur binär ist es mit Sicherheit nicht. Eine dezimale "1024" würde beispielsweise binär 10000000000 heissen.

    Zur eigentlichen Frage "Umwandeln Binär in Dezimal" - als Darstellung auf einem Display. Dazu gibts in C den Befehl
    itoa - Integer to ascii
    der etwa so verwendet wird:
    Code:
    //      Hilfsfunktion, um Zahlen über das UART auszugeben
      void uputs0i( const int val )
      {
        char buffer[8];
        uputs0 ( itoa(val, buffer, 10) );
      }
    Dabei ist val der aufrufende Parameter, buffer der ASCII-String, der ausgegeben werden kann und 10 die Basis zu der der Wert val umgerechnet werden soll (10 => also ne Dezimalzahl). Die binäre Zahlendarstellung im Codefenster oben wurde mit genau dieser Routine dort oben dargestellt.

    Puuuhhhh. Wirds jetzt etwas verständlicher für Dich?
    Geändert von oberallgeier (08.03.2013 um 13:36 Uhr)
    Ciao sagt der JoeamBerg

  7. #7
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Nimm deinen Wert 11100000000110 verunde es mit 0xF und stell diese Zahl auf dem Display dar.

    Zum Verständnis :

    11100000000110 & 0xF ergibt 0110 = 6. Entspricht das deinen Erwartungen?
    Grüße,
    Daniel

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Du willst nur 1024.0 aus 1024 machen? Die Nachkommastellen zeigt er nicht an, wenn sie alle null sind. PECH! :P

    Was willstn wirklich machen? Ich nehm an, was auch immer dein Ziel ist, es beeinhaltet das Multiplizieren der Ganzzahl mit einem konstanten Gleitkomma-Faktor.

    Entsprechen die 1024 einer Spannung oder einem anderen Messwert?

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2013
    Beiträge
    21
    Die 1024 entsprechen einer Spannung, welche ich nun einfach als ...Volt mir anzeigen lassen möchte.

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Dann musst du sie erst Mal umrechnen, die Formel dazu kennen wir nicht, weil wir nicht wissen was die Zahl bedeutet. Je mehr Informationen wir haben, desto besser können wir dir helfen ...

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Zahl für displayausgabe in Dezimal umwandeln
    Von Grebnelloh im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 28.03.2012, 18:39
  2. Variable zu einem Binärwert zusammen fassen
    Von Duesentrieb im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 20.03.2011, 10:30
  3. komma verschieben in zahl
    Von puci123 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 12.10.2009, 14:09
  4. Temperatur aus Binärwert berechnen
    Von jonas im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 17.10.2006, 17:19
  5. Variablen und Komma ??
    Von Roberto im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 26.08.2005, 04:54

Berechtigungen

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

LiFePO4 Speicher Test