Probleme mit lc.setDigital und MAX7219

Hallo zusammen!

Ich versuche auf einem MAX7219 eine vierstellige Zahl anzeigen zu lassen, die heruntergezählt werden soll. Daher speicher ich diese Zahl erst einmal in einem Array , um dann separat auf die Zahlen zugreifen und ausgeben zu können. Das Problem ist, dass sobald ich mit lc.setDigital auf die Array-Elemente zugreifen möchte, auf dem Display nichts angezeigt wird. Was hab ich hierbei nicht beachtet? Hier der Code dazu:

#include "LedControl.h"

LedControl lc=LedControl(12,11,10,1);

unsigned long delaytime=250;

int date = 0;
String dateString = "";
char dateChar[5]; 


void setup() {
  date = 2014;
  lc.shutdown(0,false);
  lc.setIntensity(0,8);
  lc.clearDisplay(0);
  Serial.begin(9600);
}

void loop() { 
  countDate();
  lc.clearDisplay(0);
  delay(delaytime);
} 

void countDate(){
      dateString = String(date);
      dateString.toCharArray(dateChar,5);
      int i=0;
      for(int x=3;x>=0;x--){
        
        lc.setDigit(0,x,dateChar[i],false);
        
        if(i==4){
          i=0;
        }else{
          i++;
        }
      }
      delay(1000);
      date--;
}

Gruß odem

Ok. Hat sich erledigt. Habs gefunden! lc.setChar() ist das Stichwort.

Das mit der String Klasse und wieder zurück in ein char Array ist aber Murks.

Verwende besser gleich itoa(): http://www.cplusplus.com/reference/cstdlib/itoa/ http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#gaa571de9e773dde59b0550a5ca4bd2f00

Danke für den Hinweis, das war ein Workaround, da irgendwas mit dem itoa() nicht funktionierte. Jetzt benötige ich keins von beiden, da ich direkt auf die char-Elemente zugreifen kann.