RESNIC Inserito: 30 novembre 2005 Segnala Share Inserito: 30 novembre 2005 Buongiorno a tutti!!!!Scusatemi, ma c'è qualcosa che non mi è chiara....mi potete dare conferma di ciò?!Devo utilizzare un Timer TMR0 ove settato un valore lui conta fino a tale valore e poi mi genera l'interrupt... però se ho ben capito il timer mi genera l'iterrupt solo quando va in Overflow, quindi per fare questo gioco devo caricare nel registro la differenza tra il valore massimo e quello che voglio sia contato, in questa maniera ho l'inerrupt a tempo come volevo io!!! Giusto?????Grazie a tutti!!! Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 30 novembre 2005 Segnala Share Inserita: 30 novembre 2005 Ciao,Si, hai detto bene .Il TMR0 genera un interrupt quando passa da hFF a h00 a 8bit o da hFFFF a h0000 a 16bit.Quindi se tu vuoi per esempio generare l'int dopo 100 cicli e ammettiamo che hai programmato il tmr0 a 8bitdevi caricare nel timer 256-100=156 . Link al commento Condividi su altri siti More sharing options...
RESNIC Inserita: 30 novembre 2005 Autore Segnala Share Inserita: 30 novembre 2005 Grazie dlgAvevo capito bene.... ma quando dici cicli, intendi? devo guardare la frequenza del clock, ed 1 ciclo è il periodo del clock?GRASSSSSSSSSSSSSIE Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 30 novembre 2005 Segnala Share Inserita: 30 novembre 2005 Per ciclo intendo che , nel caso che aggiorni il tmr0 con il clock interno la frequenza sara' la frequenza di clock/4.Es. se il tuo clock e' a 4 mhz la freq del tmr0 sara' 1Mhz se non ci metti un prescaler.Ovvero il TMR0 incrementera di 1 ogni 1 microsecondo.Spero di essere stato chiaro... Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 30 novembre 2005 Segnala Share Inserita: 30 novembre 2005 La frequenza dipende dal clock della macchina.Se vuoi ti insegno un metodo per vedere il tempo che ci mette (per avere conferma dei calcoli) puoi usare l'MPLAB , settare come debugger l'MPLAB SIM , in Debugger->Settings imposti come processor frequency la frequenza del quarzo.Poi metti un break point nella prima istruzione dell'interrupt del timer.Mandi in run il programma , quando arrivi sul break point resetti il conteggio , fai ripartire , quando ritorna sul break point , ti dice il tempo che ha impiegato.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