bob wrote:

... The code is very simple (runs in Port Change interrupt):

   if ((PINA & _BV(A2DDATA)) != 0)
result |= 0x80000000;

   result >>= 1;

How is result declared? Are you using the volatile qualifier? If so, that would explain why the compiler feels obliged to load and store the entire 32 bits.

Graham.



_______________________________________________
AVR-chat mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-chat

Reply via email to