folgendes Prog habe ich compiliert bzw, versucht zu compilieren mit der IDE Arduino 1.6.5
Code: Alles auswählen
String Text;
const int CS = 7; // LOAD (CS) = Aktivierung des MAX7219
const int Takt = 2; // CLK = Taktpin des MAX7219
const int data = 8; // DIN = Datenpin des MAX7219
void setup()
{
pinMode(CS, OUTPUT);
pinMode(Takt, OUTPUT);
pinMode(data, OUTPUT);
}
void loop()
{
Text = "01234567";
Set_MAX72_String(Text);
}
//====================================================
void Set_MAX72_String(String Zeichenkette)
//====================================================
//vorher Code B Font Modus setzen
// nur Ziffern 0-9 ; '-' 'E' 'H' 'L' 'P' und blank möglich
{
Zeichenkette = Zeichenkette + " "; // mit Leerzeichen rechts auffüllen
byte Digit;
byte Zeichenwert;
byte Ausgabewert = 0x0F;
// alle Digit's vorher auf 'blank' setzen
for (Digit = 7; Digit > -1; Digit--)
{
//Ausgabewert an Stelle ,Digit, ausgeben
// Adresse des Steuerregister Digit 0 (= 1 Stelle) ist 0x01
digitalWrite(CS, LOW);
shiftOut(data,Takt, MSBFIRST, Digit); shiftOut(data, Takt, MSBFIRST, Ausgabewert);
digitalWrite(CS, HIGH);
}
}
Code: Alles auswählen
Zeichenkette = Zeichenkette + " "; // mit Leerzeichen rechts auffüllen
Code: Alles auswählen
Zeichenkette = " "; // mit Leerzeichen rechts auffüllen
Compiliere ich das Prog mit der IDE Arduino 1.0.5. wird es auch mit dieser Zeile
Code: Alles auswählen
Zeichenkette = Zeichenkette + " "; // mit Leerzeichen rechts auffüllen
Was läuft denn da verkehrt ? Ich kann mir das einfach nicht erklären.

Gruss
Ludwig
Nachtrag: sobald ich die Zeile
Code: Alles auswählen
shiftOut(data,Takt, MSBFIRST, Digit); shiftOut(data, Takt, MSBFIRST, Ausgabewert);
