27 uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) {
31 for (i = 0; i < 8; ++i) {
32 digitalWrite(clockPin, HIGH);
34 value |= digitalRead(dataPin) << i;
36 value |= digitalRead(dataPin) << (7 - i);
37 digitalWrite(clockPin, LOW);
42 void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
46 for (i = 0; i < 8; i++) {
48 digitalWrite(dataPin, !!(val & (1 << i)));
50 digitalWrite(dataPin, !!(val & (1 << (7 - i))));
52 digitalWrite(clockPin, HIGH);
53 digitalWrite(clockPin, LOW);