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
  Blinkcode in Klartext ausgeben Borderwalker310 7 245 18.01.2017 08:39
Letzter Beitrag: Franz54
  Arduino Mega startet immer wieder neu Badger1875 9 661 26.12.2016 17:56
Letzter Beitrag: Badger1875
  Empfange nur "Geister"zeichen vom BT-Modul dabbamonkeyyy 2 149 23.10.2016 11:34
Letzter Beitrag: Harry Hirsch
  LCD Display plötzlich komische Zeichen Jessi97 2 302 28.07.2016 11:34
Letzter Beitrag: Bitklopfer
  Ausgabe druckt immer 2 Werte anstatt nur einen. Finde den Fehler nicht TimeMen 24 806 02.07.2016 14:18
Letzter Beitrag: hotsystems
  Wieso immer int ? Mathias 7 366 12.06.2016 17:23
Letzter Beitrag: Mathias
  Display Blinkt immer arduino_weatherstation 29 1.753 12.03.2016 13:10
Letzter Beitrag: hotsystems
  Analogspannung ausgeben Rudi 6 690 24.02.2016 14:25
Letzter Beitrag: hotsystems
  mehrere Analoge eingänge seriell ausgeben rieders 5 939 28.11.2015 09:55
Letzter Beitrag: Bitklopfer
Question Blind wie immer???? :P Hilgi 4 588 09.11.2015 03:28
Letzter Beitrag: Hilgi

Gehe zu:


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