int AM9111::_read()
{
digitalWrite(_odp,0);
digitalWrite(_wep,1);
int rv = 0;
bitWrite(_rbits,0,digitalRead(_IO[0]));
bitWrite(_rbits,1,digitalRead(_IO[1]));
bitWrite(_rbits,2,digitalRead(_IO[2]));
bitWrite(_rbits,3,digitalRead(_IO[3]));
_read() = _rbits;
return rv;
}
Have you ever thought why this routine would always return zero? (if it were to compile)
Is that what you want?