Learned a tidbit about Xmega development.

Use the fully qualified names when accessing processor registers.

The fully qualified looks like PORTC_OUTSET.

It is also perfectly allowable and compilable to do PORTC.OUTSET as
structures are also defined.

However, there is a major difference.  The fully qualified (PORTC_OUTSET)
has volatile tied to it and
the (PORTC.OUTSET) does not.

This can create a very subtle and time consuming bug to track :-(

It manifests itself somewhere silently in the optimizer. :-(

Use the underscores!

Best regards,
Rob
_______________________________________________
AVR-libc-dev mailing list
AVR-libc-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-libc-dev

Reply via email to