INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Hexzahl immer mit 2 Zeichen ausgeben.
09.01.2016, 13:07 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2016 13:13 von arduinofan.)
Beitrag #1
Hexzahl immer mit 2 Zeichen ausgeben.
Hallo, guten Tag.

Ich möchte bitte Hexzahlen zuerst 2-Wertig ausgeben auf dem Display.
Dezimal = 123 > hex = 7b
Decimal =3 > hex = 03

Wie kann ich das unten in meinem Programm bewerkstelligen.
Ich habe ein Display mit 8 Anzeigen und immer 2 Anzeigen sollen ein Wert von 0-255 darstellen.

Normal funktioniert die Anzeige unten ohne Probleme.

Danke

Code:
#include <TM1638.h>
// define a module on data pin 22, clock pin 23 , strobe pin 24
TM1638 module(22,23, 24);

unsigned long a=1;
byte dots = 0xff;
String str1, str2,str3,str4;
char zahl1, zahl2, zahl3, zahl4;

void setup()
{
  zahl1=1;
  zahl2=2;
  zahl3=3;
  zahl4=123;
}

void loop()
{
str1 =  String(zahl1,HEX);
str2 =  String(zahl2, HEX);  
str3 =  String(zahl3, HEX);
str4 =  String(zahl4, HEX);
module.setDisplayToString(str1+str2+str3+str4);
module.setLEDs(zahl4);
}


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2016, 13:38
Beitrag #2
RE: Hexzahl immer mit 2 Zeichen ausgeben.
(09.01.2016 13:07)arduinofan schrieb:  
Code:
void loop()
{
...
str1 =  String(zahl1,HEX);
str2 =  String(zahl2, HEX);  
str3 =  String(zahl3, HEX);
str4 =  String(zahl4, HEX);
...

str1 = String(zahl1,HEX);
if (str1.lenght() == 1)
str1 = "0" + str1;

usw.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2016, 14:23 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2016 14:25 von arduinofan.)
Beitrag #3
RE: Hexzahl immer mit 2 Zeichen ausgeben.
Danke.

Es kommt aber eine Fehlermeldung mit "Class".
class String has no member named "lenght"

Gelöst:
ähmm... "length"

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2016, 15:33
Beitrag #4
RE: Hexzahl immer mit 2 Zeichen ausgeben.
Hallo,

(09.01.2016 14:23)arduinofan schrieb:  Danke.

Es kommt aber eine Fehlermeldung mit "Class".
class String has no member named "lenght"

Gelöst:
ähmm... "length"

Gruss

naja, ich habe nicht gesagt, daß ich auch lese was ich schreibe. Wink

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2016, 16:24
Beitrag #5
RE: Hexzahl immer mit 2 Zeichen ausgeben.
(09.01.2016 13:07)arduinofan schrieb:  ....
void loop()
{
str1 = String(zahl1,HEX);
str2 = String(zahl2, HEX);
str3 = String(zahl3, HEX);
str4 = String(zahl4, HEX);
module.setDisplayToString(str1+str2+str3+str4);
module.setLEDs(zahl4);
}
[/code]

Hi,
probier doch mal anstelle von "str1 = String(zahl1,HEX);"
sprintf(str1,"%2h", zahl1);
ist nicht wirklich geprüft weil ich gerade keinen freien Ardi am Läpi habe.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2016, 17:28
Beitrag #6
RE: Hexzahl immer mit 2 Zeichen ausgeben.
Hallo danke.

sprintf(str1,"%2h", zahl1);

Kommt einw Fehlermeldung , das es nicht konvertiert werden kann.

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2016, 17:50
Beitrag #7
RE: Hexzahl immer mit 2 Zeichen ausgeben.
Hallo,

(09.01.2016 17:28)arduinofan schrieb:  Hallo danke.

sprintf(str1,"%2h", zahl1);

Kommt einw Fehlermeldung , das es nicht konvertiert werden kann.

Gruss

probier mal
sprintf(str1,"%2x", zahl1);

mit kleinem oder großen X.
Zumindest sagt die sprintf-Beschreibung %x und %X für Hex.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2016, 18:00
Beitrag #8
RE: Hexzahl immer mit 2 Zeichen ausgeben.
Danke.
Funktioniert auch nicht.

Das funktioniert ja gut:
str3 = String(zahl3, HEX);

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino funktioniert immer erst nach reset Maxi290997 11 773 25.07.2017 09:38
Letzter Beitrag: Maxi290997
  Char Werte ausgeben Scotch 5 462 31.03.2017 15:37
Letzter Beitrag: Scotch
  Zählerstand nur einmal ausgeben Fliega 11 614 21.02.2017 11:21
Letzter Beitrag: SkobyMobil
  Blinkcode in Klartext ausgeben Borderwalker310 20 1.062 09.02.2017 22:14
Letzter Beitrag: Tommy56
  Arduino Mega startet immer wieder neu Badger1875 9 1.376 26.12.2016 17:56
Letzter Beitrag: Badger1875
  Empfange nur "Geister"zeichen vom BT-Modul dabbamonkeyyy 2 298 23.10.2016 11:34
Letzter Beitrag: Harry Hirsch
  LCD Display plötzlich komische Zeichen Jessi97 2 521 28.07.2016 11:34
Letzter Beitrag: Bitklopfer
  Ausgabe druckt immer 2 Werte anstatt nur einen. Finde den Fehler nicht TimeMen 24 1.289 02.07.2016 14:18
Letzter Beitrag: hotsystems
  Wieso immer int ? Mathias 7 568 12.06.2016 17:23
Letzter Beitrag: Mathias
  Display Blinkt immer arduino_weatherstation 29 2.393 12.03.2016 13:10
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste