How do i use bitread correctly?

i try to use bitread in my program but it doesn't work, It just gives a bunch of 0-oes

here is my program:

for (int i = 0; i < 14; i++) {
int b = bitRead(addr, i);
if (b==0) {
digitalWrite(ADDR, LOW);
} else {
digitalWrite(ADDR, HIGH);
digitalWrite(CLK, HIGH);
digitalWrite(CLK, LOW);

Your code is incomplete.

Please remember to use code tags when posting code

1 Like

From: bitRead() - Arduino Reference


Reads a bit of a number.


bitRead(x, n)


x: the number from which to read.
n: which bit to read, starting at 0 for the least-significant (rightmost) bit.


The value of the bit (0 or 1).

If you are trying to read the Ith bit from 0-14 of the variable ADDR, then this is correct, but I think you might be trying to read the word at ADDR instead, correct?

1 Like

I realized that i only had 0 as addres in the rest of my code

Just like this

xEventGroupWaitBits (eg, evtParseMQTT, pdTRUE, pdTRUE, portMAX_DELAY ); //
    xSemaphoreTake( sema_mqttOK, portMAX_DELAY );
    mqttOK = 0;

does not mean much to you, this

does not mean much to me.

Post all your code, please.

Glad you figured it out. :smiley:
Post more of your code next time and someone else can probably help you spot issues like that.