Niki77 Inserito: 14 ottobre 2004 Segnala Share Inserito: 14 ottobre 2004 Salve a tutti,Per vostra conoscienza è possibile riavviare un pic di tipo 16f84 o 16f628 tramite software?asm, basic ,c , qualsiasi cosaPer riavviare intendo simulare la messa a massa(scusate il gioco di parole)del pin mclr... Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 14 ottobre 2004 Segnala Share Inserita: 14 ottobre 2004 questo pic non ha una funzione di reset via software.Per resettare a comando puoi usare in WDT e creare un loop infinito dove non pulisci il registro del WDT .Puoi anche usare un pin di uscita e con un transistor fare un reset esterno.Dopo il reset le entrate I/O sono configurate tutte come entrate , quindi il pin tornerebbe nelle sue condizioni normali. Link al commento Condividi su altri siti More sharing options...
wnc Inserita: 15 ottobre 2004 Segnala Share Inserita: 15 ottobre 2004 Non uso abitualmente tal micro e assembly comunque dovresti riuscire a scrivere direttamente nel registro CONFIG2H il post-scaler 1:1 del WDT e alla successiva istruzione avrai un overflow dello stesso che ti produrrà un Reset software. Saluti Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 15 ottobre 2004 Segnala Share Inserita: 15 ottobre 2004 Potresti usare una label con cui fai un Goto all'inizio del programma.Ciao Link al commento Condividi su altri siti More sharing options...
bit Inserita: 15 ottobre 2004 Segnala Share Inserita: 15 ottobre 2004 Attenzione! Una GOTO all'inizio del programma non è un reset! Di fatto il programma viene rieseguito dall'inizio, ma le impostazioni interne del pic (valori registri, impostazioni varie, pin in-out) non cambiano.Ciao! Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 15 ottobre 2004 Segnala Share Inserita: 15 ottobre 2004 Hai ragione , pero' non e' stato specificato il perche' del reset pilotato , chiarito questo , si possono fare anche altre elucubrazioni Ciao Link al commento Condividi su altri siti More sharing options...
k6233 Inserita: 15 ottobre 2004 Segnala Share Inserita: 15 ottobre 2004 A me piace la soluzione di Dlgcom del transistor pilotato da un pin del pic.Di sicuro effetto e solo un transistor e una resistenza in più.SalutiMarco Link al commento Condividi su altri siti More sharing options...
Niki77 Inserita: 15 ottobre 2004 Autore Segnala Share Inserita: 15 ottobre 2004 La necessita del reset è scaturita proprio dal voler azzerare tutti i registri interni del processore e ricominciare l'esecuzione da capo...Avevo pensato al transistor che mette a massa l'mclr ma non credo di avere + porte libere disponibili per tale funzione.Farò qualche esperimento con il watch-dog per ora.Grazie a tutti per l'interessamento. Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 17 ottobre 2004 Segnala Share Inserita: 17 ottobre 2004 Per fare il reset di tutti i registri potresti farti una funzione ad hoc e poi fai il goto all'inizio.Ciao Link al commento Condividi su altri siti More sharing options...
Niki77 Inserita: 18 ottobre 2004 Autore Segnala Share Inserita: 18 ottobre 2004 Non risolvevo il problema rilanciando all'inizio del programma,non so esattamente perchè, ma evidentemente qualcosa rimaneva dei dati precedentemente immagazzinati la per qualche registro.Ho ovviato al problema generando un overflow del WDT con seguente restart, molto elegante e funzionale, a proposito ringrazio tutti per l'attenzione e soprattutto chi mi ha suggerito di sfruttare questa possibilità. 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