I have a bit-addressable var (ibase) that I am loading with a value and then rotating--placing the msb on an I/O pin (SData). The SData pin never changes--it stays high. What am I doing wrong? Thanks!
for(i=0;i<8;i++) { SClock = 0; SData = ibase^7; ibase = _irol_(ibase,1); delay(); SClock = 1; timer0_delay(5); }
When I was first trying to determine why my original code wasn't behaving, I looked at the disassembled code and saw the xor opcode, but couldn't understand why it compiled that way. Now that you have explained about the ^ operator, it makes sense.