Ciao, si ci sono, non le ho postate in quanto il problema non le interessava.
Mi sono accorto solo oggi che non ho inizializzato 'cnt' come volatile... forse già questo ha creato un pò di disordine...
per un paio di giorni, purtroppo non posso riprovare, ma se ho altri problemi "strani" mi rifaccio vivo..
Comunque, giusto per essere sicuri, si possono mischiare tranquillamente tipo il timer 0 come OverFlow, il timer 1 come Compare Match ecc...?
e, perdonatemi, un'altra cosa di cui non sono completamente sicuro:
impostando il Timer, per esempio l'1, in Compare Match con A tipo a 1000 e B a 3000, passato il match a 1000, il contatore si dovrebbe riazzerare? se no, si riazzera dopo il match B o cosa?
dab77:
Mi sono accorto solo oggi che non ho inizializzato 'cnt' come volatile... forse già questo ha creato un pò di disordine...
Al 90% il problema è quello, tutte le variabili che sono usate sia dentro che fuori una ISR devono essere dichiarate "volatile".
Comunque, giusto per essere sicuri, si possono mischiare tranquillamente tipo il timer 0 come OverFlow, il timer 1 come Compare Match ecc...?
Certo, ogni ISR ha un indirizzo differente.
e, perdonatemi, un'altra cosa di cui non sono completamente sicuro:
impostando il Timer, per esempio l'1, in Compare Match con A tipo a 1000 e B a 3000, passato il match a 1000, il contatore si dovrebbe riazzerare? se no, si riazzera dopo il match B o cosa?
Grazie.
Dipende da come lo hai impostato, la tabella Waveform Generation Mode (i bit WGM).