Hi guys, I'm working on ESP32 output extension with 74HC575 Shift Registers.
const int dataPin = 34; // DS pin 34
const int latchPin = 35; // ST_CP pin 35
const int clockPin = 36; // SH_CP pin 36
String Out_Str_0 = "1", Out_Str_1 = "1", Out_Str_2 = "1", Out_Str_3 = "1", Out_Str_4 = "1", Out_Str_5 = "1", Out_Str_6 = "1", Out_Str_7 = "1",
Out_Str_8 = "1", Out_Str_9 = "1", Out_Str_10 = "1", Out_Str_11 = "1", Out_Str_12 = "1", Out_Str_13 = "1", Out_Str_14 = "1", Out_Str_15 = "1";
String Final_Out_Str;
byte Final_Out_Byte;
byte Test_Byte = 0b1111111111111111;
void setup() {
Serial.begin(115200);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
}
void loop() {
Out_Str_0 = "0"; Out_Str_1 = "0";
Final_Out_Str = "";
Final_Out_Str = "0b" + Out_Str_0 + Out_Str_1 + Out_Str_2 + Out_Str_3 + Out_Str_4 + Out_Str_5 + Out_Str_6 + Out_Str_7 + Out_Str_8 + Out_Str_9 + Out_Str_10 + Out_Str_11 + Out_Str_12 + Out_Str_13 + Out_Str_14 + Out_Str_15;
Serial.println(Final_Out_Str);
// Final_Out_Byte = Final_Out_Str;
// shiftWrite(Final_Out_Str, BIN);
}
void shiftWrite(unsigned int desiredPins) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, highByte(desiredPins));
shiftOut(dataPin, clockPin, MSBFIRST, lowByte(desiredPins));
digitalWrite(latchPin, HIGH);
}
I'm getting the printed output as
23:33:54.983 -> 0b0011111111111111
23:33:54.983 -> 0b0011111111111111
23:33:54.983 -> 0b0011111111111111
Which is a byte formated string that I want to convert into byte and wite as shiftWrite(Final_Out_Byte);
I tried my best reading over forums but couldn't get the idea.
Please suggest me how to convert this into byte.