Bitshift operation in PSoC | Cypress Semiconductor
Bitshift operation in PSoC
Hi I'm trying to interface a HX711 weighing scale sensor with PSoC 4 BLE. The HX711is a 24-bit ADC for weighing scales that sends data one bit at a time in 24 clock cycles (datasheet attached).
I used the following code in Arduino to obtain data.
for (byte j = 0; j < 3; j++)
for (byte i = 0; i < 8; i++)
digitalWrite(_pin_slk, HIGH); //every HIGH pullup shifts one bit of data; hence _pin_slk needs to be pulled up 24 times
bitWrite(data[2 - j], 7 - i, digitalRead(_pin_dout)); //to read one bit at a time and store in data
digitalWrite(_pin_slk, HIGH); //to pull the DOUT pin back to high to reach 25 pulses
return ((long) data << 16) | ((long) data << 8) | (long) data; //bitshift left operator used for shift the bits to the left
//bitwise OR operator to add the three bytes (24 bits) obtained
How do I implement the same in PSoC? Does PSoC support a bitshift operator (<<) like Arduino?