Micro non più programmabile

Ciao, ho scritto il codice per misurare la tensione della batteria, modificando un codice già funzionante, che mostrava la lettura della tensione di un sensore di temperatura....
lo provo la prima volta e va, quindi aggiungo alcune modifiche ovvero,
a seconda che richiedo la lettura dell'ADC sulla temperatura o sulla batteria, cambio il riferimento di tensione, e il canale dell'ADC, ed effettuo una prima lettura da scartare...
inoltre quando la lettura precedente è stata proprio quella che viene richiesta correntemente, allora salto il cambio dei settaggi e la lettura da scartare, effettuando direttamente la lettura utile...
Tutto questo è stato fatto solamente con l'aggiunta di poche righe di codice che toccavano solamente il registro ADMUX, e in caso richiamavano una volta di più, prima di visualizzare a schermo il risultato della lettura, la routine ADC_read
vado quindi a programmare il micro, e quando verifico che sia stato programmato correttamente, mi da un errore (STK500II) dicendo che non può essere programmato, a questo punto il micro diventa inutilizzabile,
mi era già successo alcuni giorni fa, scrivendo sempre il nuovo codice che implementasse la lettura della tensione della batteria, e per ripristinare il micro, l'ho dovuto cancellare da un'altra STK500 di un mio amico, poichè sulla mia era diventato inutilizzabile
Qualcuno ha idea del perchè succeda ciò?
volento potrei caricare i due codici, prima e dopo delle modifiche, anche se ripeto, ho effettuato solo le modifiche riportate sopra...
lo provo la prima volta e va, quindi aggiungo alcune modifiche ovvero,
a seconda che richiedo la lettura dell'ADC sulla temperatura o sulla batteria, cambio il riferimento di tensione, e il canale dell'ADC, ed effettuo una prima lettura da scartare...
inoltre quando la lettura precedente è stata proprio quella che viene richiesta correntemente, allora salto il cambio dei settaggi e la lettura da scartare, effettuando direttamente la lettura utile...
Tutto questo è stato fatto solamente con l'aggiunta di poche righe di codice che toccavano solamente il registro ADMUX, e in caso richiamavano una volta di più, prima di visualizzare a schermo il risultato della lettura, la routine ADC_read
vado quindi a programmare il micro, e quando verifico che sia stato programmato correttamente, mi da un errore (STK500II) dicendo che non può essere programmato, a questo punto il micro diventa inutilizzabile,
mi era già successo alcuni giorni fa, scrivendo sempre il nuovo codice che implementasse la lettura della tensione della batteria, e per ripristinare il micro, l'ho dovuto cancellare da un'altra STK500 di un mio amico, poichè sulla mia era diventato inutilizzabile
Qualcuno ha idea del perchè succeda ciò?
volento potrei caricare i due codici, prima e dopo delle modifiche, anche se ripeto, ho effettuato solo le modifiche riportate sopra...