Domanda sugli ATmega, bit di interrupt

Janos:
Una domandina: perché, a livello di programmazione lavorando direttamente con i registri dell'ATmega, per resettare un flag di interrupt ci devo scrivere 1 anziché 0?

Non c'è una regola universale, ovvero a seconda del micro e del registro coinvolto lo stato attivo del flag di interrupt attivo può essere sia 0 che 1, il solo modo per saperlo è consultare il datasheet.
Attenzione che a seconda delle periferiche il clear del flag, può valere sia 0 che 1, può essere sia automatico quando vai a leggere un certo registo oppure solo manuale, ovvero se non resetti il flag il micro comincia a richiamare in eterno quella ISR con il conseguente blocco del normale funzionamento.