matmor Inserito: 15 maggio 2006 Segnala Share Inserito: 15 maggio 2006 void interrupt(){ tempo++ ; TMR0 = 6 ; INTCON = 0x20 ; if (tempo == 110) { tempo1++ ; tempop++ ; tempo= 0 ; }}Salve ho un problemaogni tanto tempo1 non incrementac'è qualcosa di sbagliato nel codice????premetto che visualizzo tempo1 su display Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 15 maggio 2006 Segnala Share Inserita: 15 maggio 2006 Immagino che il micro sia un PIC. (che non utilizzo e non conosco)Comunque ci provo lo stessoSe tempo1 cambia solo dentro l'interrupt è strano che perda un passo.A cosa è collegato l'interrupt ? a un timer ? a un interrupt esterno ?Cosa fa tempo ? Non è che tempo viene azzerato da qualche parte prima di arrivare a 110?Se tempop non perde nessun conteggio allora controlla la variabile tempo1.Sicuramente si farà vivo qualcuno più competente Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 16 maggio 2006 Segnala Share Inserita: 16 maggio 2006 Se vuoi una risposta comincia a dire che pic usi ; che compilatore ; chi scatena l'interrupt e poi magari si puo' incominciare a discutere ...Ciao Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora