I would like to sample one of the A/D pins at a fixed rate of 512Hz, (the data then being sent out via USB).
Do I need to resort to interrupts to guarantee the timing?
you could use a external clock to trigger the measure. like a simple rough 555 timer. the hickup is the serial interface. it will mess up your internal timing