HEX-Zähler?

Hallochen.
Mal wieder ein, vermutlich lächerliches Problemchen.
Ich brauche nen Zähler, der in HEX zählt.
Einfach drauf los getippt hat nicht funktioniert...

Das Ganze soll eine Schleife werden, die von 0x000 bis 0xffff zählt (und dann zurück, aber wenn ich mal weiss wie es geht, krieg ich das schon hin).

Wichtig ist: das Ergebnis muss im Formt 0x....da sein.

Jemand nen Tipp?

Wie jetzt, willste in hex seriell ausgeben oder auf Display oder wo soll hex drin sein?

Arduino zählt prinzipiell binär. Die Ausgabe kannst Du in hexadezimal machen.
Grüße Uwe

Ob Hex, Binär oder Dezimal ist nur eine Darstellungsfrage. Ein Integer bleibt ein Integer. Dem Arduino ist es wurscht in welchem Format Du das haben willst.
Bei der Ausgabe gibt man das einfach mit an. Tricky sind die führenden Nullen.

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly: 
  for(unsigned int i=0; i<= 0xffff; i++) {
   printHex(i); 
  }
}

void printHex(unsigned int data) {
 Serial.print("0x");
 if( data < 0x1000) Serial.print('0');
 if( data < 0x0100) Serial.print('0');
 if( data < 0x0010) Serial.print('0');
 Serial.println(data,HEX);
}

Achtung, Code ist ungetestet, compiliert aber zumindest schon mal :slight_smile:

Mario.

Hm, danke.
Hab gerade festgestellt, dass es das Problem gar nicht gibt.
Ich brauchs nicht für ne Ausgabe, es ging darum, Farbewerte zu errechnen und ich dachte, die Lib. braucht die im Hexformat- abe die nimmts auch Dezimal.

Danke trotzdem.