write 5 readings of digitalPins in memory


hi!

i'd write on eeprom state of 5 digital pins on 1 address, can this?

int addr;

int rlypins[5] = {8,10,11,9,2};

byte(rlyvalues) = (digitalread(rlypins[0])+digitalread(rlypins[1]*10)+digitalread(rlypins[2]*100)
+digitalread(rlypins[3]*1000)+digitalread(rlypins[4]*10000));


-------------------------

void memorywrite()
{
 if(memory == 0)
  eeprom.write(addr, rlyvalues);
}

quote
can this?
sort of, not exactly. wasting memory. unless have arduino more 32,767 pins, pin numbers can stored in bytes. unless have super special arduino, pins can have more 32,767 states, state can stored in byte.

bit shifting easier understand role in bit fiddling multiplication (and easier right).

if going use multiplication, use multiples of two, not ten.


Arduino Forum > Using Arduino > Programming Questions > write 5 readings of digitalPins in memory


arduino

Comments