Ciao,
non ho controllato le impostazioni dei singoli registri ma un problema e' senz'altro il fatto che attivi la conversione dell'ADC e subito dopo leggi in buffer in ingresso.
Questo non puo' essere fatto visto che la conversione dura diversi cicli di clock (13-15, non ricordo).
Comunque un ADC SAR ad N-bit impiega N cicli per la conversione + alcuni cicli per housekeeping.
Quindi nel tuo caso non leggi la conversione.
Se guardi gli esempi tra lo start e la lettura quello che viene spesso fatto e' di andare in stato di sleep.
Nella funzione di gestione dell'interrupt dell'ADC si cambia lo stato di ritorno da LPM in AM (Atctive Mode).
In particolare si usa questa inline function:
Code:
unsigned short _bic_SR_register_on_exit(unsigned short mask);
Saluti,
Mauro