#define CS_595 10
#define DAT_595 11
#define CLK_595 13
#include <GyverShift.h>
// #include <GyverShiftSPI.h>
GyverShift<OUTPUT, 1> reg(CS_595, DAT_595, CLK_595);
// GyverShiftSPI<OUTPUT, 1> reg(CS_595);
#include <SPI.h>
void setup() {
reg.write(0, 1);
reg.write(1, 1);
reg.write(7, 1);
reg.update();
/*
pinMode(CS_595, OUTPUT);
SPI.begin();
SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE0));
digitalWrite(CS_595, LOW);
SPI.transfer(0b11100001);
digitalWrite(CS_595, HIGH);
SPI.endTransaction();
*/
/*
pinMode(CS_595, OUTPUT);
pinMode(DAT_595, OUTPUT);
pinMode(CLK_595, OUTPUT);
digitalWrite(CS_595, LOW);
shiftOut(DAT_595, CLK_595, MSBFIRST, 0b11001111);
shiftOut(DAT_595, CLK_595, MSBFIRST, 0);
digitalWrite(CS_595, HIGH);
*/
/*
pinMode(CS_595, OUTPUT);
pinMode(DAT_595, OUTPUT);
pinMode(CLK_595, OUTPUT);
// bool data[] = {1, 1, 0, 0, 1, 0, 0, 1};
bool data[] = {1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0};
digitalWrite(CS_595, LOW);
for (int i = 0; i < sizeof(data); i++) { // #2
digitalWrite(DAT_595, data[i]);
delayMicroseconds(5);
digitalWrite(CLK_595, HIGH);
delayMicroseconds(5);
digitalWrite(CLK_595, LOW);
}
digitalWrite(CS_595, HIGH);
*/
}
void loop() {
}
// void loop() {
// for (int i = 0; i < 8; i++) {
// reg.clearAll();
// reg.write(i, 1);
// reg.update();
// delay(200);
// }
// }
// void loop() {
// for (int i = 0; i < 8; i++) {
// reg.write(i, 1);
// reg.update();
// delay(200);
// reg.clear(i);
// reg.update();
// delay(200);
// }
// }
// void loop() {
// for (int i = 0; i < 8; i++) {
// reg.set(i);
// reg.update();
// delay(200);
// }
// reg.clearAll();
// reg.update();
// delay(200);
// }