Vai al contenuto
PLC Forum


Problema Interrupt - perdeun passo


matmor

Messaggi consigliati

void interrupt(){

tempo++ ;

TMR0 = 6 ; INTCON = 0x20 ;

if (tempo == 110) {

tempo1++ ;

tempop++ ;

tempo= 0 ;

}

}

Salve ho un problema

ogni tanto tempo1 non incrementa

c'è qualcosa di sbagliato nel codice????

premetto che visualizzo tempo1 su display

Link al commento
Condividi su altri siti


Immagino che il micro sia un PIC. (che non utilizzo e non conosco)

Comunque ci provo lo stesso

Se 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

ifachsoftware

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

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...