Hallo,
ich habe gerade meine zwei schiebe register mit den leds angeschlossen es funktioniert auch mit diesem Code:
int latchPin = 8;
int clockPin = 12;
int dataPin = 11;
// 2^8 = 256 . 0-255 0 , 255 // 1111 1111
// 2^16 = 65536 0 - 65535 0, 65535 // 1111 1111 1111 1111
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop()
{
int data1 = 256;
int data2 =1;
for(int i=0;i<8;i++)
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, data1>>8);
shiftOut(dataPin, clockPin, MSBFIRST, data2 & 255);
digitalWrite(latchPin, HIGH);
data1*=2;
data2*=2;
delay(500);
}
}
jetzt wollte ich einfach mal mit bytes rumprobieren. Ich habe gleich am anfang es mit einem 16 stelligen binär code probiert:
int latchPin = 8;
int clockPin = 12;
int dataPin = 11;
// 2^8 = 256 . 0-255 0 , 255 // 1111 1111
// 2^16 = 65536 0 - 65535 0, 65535 // 1111 1111 1111 1111
int eingabe= B0000100010100010;
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop()
{
for(int i=0;i<8;i++)
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, eingabe>>8);
shiftOut(dataPin, clockPin, MSBFIRST, eingabe & 0000000011111111);
digitalWrite(latchPin, HIGH);
delay(500);
}
}
aber wieso Funktioniert es nicht und wie muss ich die bits schreiben weil er gibt mir bei der zeile: int eingabe= B0000100010100010; eine Fehlermeldung ??
Ich bin sehr dankbar das ihr schon so zahlreich geantwortet habt
Liebe Grüße
valli