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
  Empfange nur "Geister"zeichen vom BT-Modul dabbamonkeyyy 2 128 23.10.2016 11:34
Letzter Beitrag: Harry Hirsch
  LCD Display plötzlich komische Zeichen Jessi97 2 238 28.07.2016 11:34
Letzter Beitrag: Bitklopfer
  Ausgabe druckt immer 2 Werte anstatt nur einen. Finde den Fehler nicht TimeMen 24 732 02.07.2016 14:18
Letzter Beitrag: hotsystems
  Wieso immer int ? Mathias 7 339 12.06.2016 17:23
Letzter Beitrag: Mathias
  Display Blinkt immer arduino_weatherstation 29 1.618 12.03.2016 13:10
Letzter Beitrag: hotsystems
  Analogspannung ausgeben Rudi 6 632 24.02.2016 14:25
Letzter Beitrag: hotsystems
  mehrere Analoge eingänge seriell ausgeben rieders 5 780 28.11.2015 09:55
Letzter Beitrag: Bitklopfer
Question Blind wie immer???? :P Hilgi 4 554 09.11.2015 03:28
Letzter Beitrag: Hilgi
  Status einer if / else Verknüpfung per client.print ausgeben daruel 8 1.129 20.08.2015 10:11
Letzter Beitrag: daruel
  Zahlenwert auf 3 Zeichen begrenzen bzw. auffüllen luxusl 4 832 16.05.2015 15:02
Letzter Beitrag: luxusl

Gehe zu:


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