Puo' nascere la necessita' di voler effettuare automaticamente un reset hardware. Basta usare questo piccolo schema:
Ho provato solo su funduino mega e non su arduino uno o mega.
Giorgio
Puo' nascere la necessita' di voler effettuare automaticamente un reset hardware. Basta usare questo piccolo schema:
Ho provato solo su funduino mega e non su arduino uno o mega.
Giorgio
Il 10/02/2019 14:37, Giorgio ha scritto:
Questa non l'ho capita, perche' far rimanere perennemente - ed occupato
- alto un pin digitale (con relativo consumo continuo) ? Forse sbaglio....
-- Ciao, Renato
"Giorgio" ha scritto nel messaggio news:q3p9fj$a5p$ snipped-for-privacy@gioia.aioe.org...
quale e' stato il tuo motivo per adottare una simile tecnica ? in genere si ricorre al reset hardware in caso di malfunzionamento del software, con appositi circuiti di watch-dog, che se non triggerati entro il tempo massimo resettano il sistema. ma il tuo circuito prevede che il software sia funzionante e sia lui a voler eseguire un reset hardware, perche' ?
Il 10/02/2019 16:37, alfio ha scritto:
L'aggeggio contiene 2 oscillatori e del codice discrimina quando l'alimentazione, tramite un commutatore a 2 posizioni, passa da uno all'altro. Quando cio succede ho trovato utile eseguire un reset, anche se ovviamente si puo' simulare abbastanza il reset con dell'opportuno software, ma io ho preferito cosi' e funziona bene in quanto tutto viene reinizializzato a dovere.
Sembra che non ce lo voglia ben spiegare (perche' effettivamente non esiste), da quello che leggo in giro la atmel :
CONSIGLIA di far partire il WatchDog e aspettare che si generi il reset.
Giulia
Il 13/02/2019 23:58, LAB ha scritto:
Non per contraddire ma da quello che vedo nel display e nel comportamento delle periferiche il reset e' totale, forse perche' c'e' una capacita' che mantiene abbastanza a lungo in basso il pin di reset. Il discorso del WatchDog e' interessante e se trovo il codice lo inserisco al posto dell'autoreset. Giorgio
Ho appena trovato questo codice di reset software per l'arduino due e funziona:
void Software_Reset() { //============================================================================================
// // Parameter: keine // Rueckgabe: keine //============================================================================================ const int RSTC_KEY = 0xA5; RSTC->RSTC_CR = RSTC_CR_KEY(RSTC_KEY) | RSTC_CR_PROCRST | CR_PERRST; while (true); }
Il 10/02/2019 14:37, Giorgio ha scritto:
Ho letto tutto,
un monostabile retriggherabile e dagli un impulso, se si inchioda il
quantomeno una idiozia.
Dato che ho un cassetto pieno di arduini di vari tipi sono arrivato molto vicino a una cosa del genere.
di me" :D
-- in crisi la nostra relazione! - Lo so cara, ma preferirei che tu non lo avessi proprio.
Il 14/02/2019 22:49, Archaeopteryx ha scritto:
carta igienica...
Si sa che le cpu hanno punti deboli va usato qualcosa di concreto per tamponare e meglio dell'analogico non esite nulla al mondo. Mettimo che il blocco avvenga per spike o altro disturbo, calo alimentazione etc. non ti salva nulla se non lavorare in analogico.
Penso pure io che l'analogico abbia degli aspetti imbattibili da qualsiasi tecnologia digitale :)
-- in crisi la nostra relazione! - Lo so cara, ma preferirei che tu non lo avessi proprio.
ma cosa dici Ciula :) come fai con l'analogico a segnalare un circuito che non funziona ?
Anche un blocco da spike lo puoi segnalare immediatamente (dipende dal grado di sicurezza che vuoi ottenere)ed agire nel minor tempo possibile.
I costi del digitale sono calati moltissimo e vanno bene per "tutte" le sistuazioni.
Non mi sono spiegato, si tratta di un pin dello stesso micro che produce "l'autoreset", non ci sono 2 micro. Giorgio
Il 14/02/2019 11:44, Giorgio ha scritto:
[CUT]
------------------
Talvolta, non solo in circuiti ridondanti, e' comodo utilizzare dei moduli specifici per resettare il microcontrollore (specie senza uno specifico bootloader inserito).
Nel tuo caso, dato che parli di Arduino, dai un'occhiata a questo articolo che reputo decisamente interessante.
Se ne sei gia' a conoscenza non tenerne conto.
-- Ciao, Renato
--
sapere come far funzionare la cose senza sapere come
alla teoria per riuscire a non far funzionare le cose senza capire come abbiamo fatto"
L'autoreset hard. proposto all'inizio funzionava benissimo, l'ho detto + volte. Adesso ne faccio a meno perche' ho trovato un semplice codice che usa il Watchdog per fare il reset soft.
void Software_Reset() { //============================================================================================
// // Parameter: keine // Rueckgabe: keine //============================================================================================ const int RSTC_KEY = 0xA5; RSTC->RSTC_CR = RSTC_CR_KEY(RSTC_KEY) | RSTC_CR_PROCRST | CR_PERRST; while (true); }
Il 15/02/2019 17:44, LAB ha scritto:
il problema.
Probabilmente vi mancano 30 anni di rogne e disturbi su sistemi progettati bene a tavolino ma non visti nell'ambiente industriale dove poi sarebbero finiti.
I watchdog dei micro sono inaffidabili per definizione (basta capire bene come funziona un microcontrollore, e non se ne esce a nessun livello) figuriamoci poi se pilotati dallo stesso.
Il reset deve nascere da qualcosa di esterno che preveda generi appunto
dal micro non viene rispettato nei suoi parametri, ma deve essere in
(inchiodamento).
Per avere garanzie del 100% si usa l'analogico non ci sono alternative di nessun genere.
Il 15/02/2019 18:38, Giorgio ha scritto:
Funziona benissimo quando funziona...
Il 15/02/2019 18:44, El_Ciula ha scritto:
Motiva, please (richiesta non ironica, ma per sete di sapere, mejjio specificarlo, si sa mai...)
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.