Go Down

Topic: Problema di affidabilità (Read 2 times) previous topic - next topic

foglia


non so se ti può essere utile,ma diverse librerie per lcd tendono ad aspettare la risposta prima di inviare comandi,x evitare di intasare l'LCD di comandi..e possono piantarsi se l'arduino nn riceve risposte(es:arriva la corrente,l'arduino si accende,manda comandi allo schermo LCD che si sta accendendo,LCD nn manda indietro ack e tutto si pianta)..nn so se è il tuo caso


mmmm.... dopo infinite prove :-( credo che il problema sia questo, sono arrivato questa conclusione perchè l'esecuzione si pianta al primo comando LCD che do .
Non mi rimane che provare con altre librerie, ne avete per caso una da suggerirmi ?
grazie

foglia

Grazie ragazzi dell'idea del watchdog ;-) lo metto comunque , mi piace!

veseo

Leggi prima un poco in giro, non tutti i bootloader lo supportano correttamente. Se dovesse capitarti di non riuscire più a caricare gli sketch, togli alimentazione alla scheda e preparati a caricare, una volta riattaccata fai subito un download di uno sketch senza bootloader.

Se imposti il watchdog ad 8 secondi, hai tempo a sufficienza senza dover riprogrammare in ICSP.

Saluti,
Dario.
Souliss - Open-source Distributed Home Automation with Arduino and Android

http://www.souliss.net
Follow at @soulissteam

@veseotech

m_ri

puoi postare qua la libreria?

se pensi che sia colpa della libreria che aspetta una risposta dal LCD, prova a sostituire ogni ricezione dei dati con delay(20) o delayMicroseconds(10000)

leo72


Leggi prima un poco in giro, non tutti i bootloader lo supportano correttamente.

Quello della UNO sì, quello della MEGA no.

foglia

Dopo 1000 e piu prove ;-) ho capito il problema , si trattava di qualche sbalzo sull'alimentazione dell'LCD e ho risolto mettendo un condensatore elettrolitico in parallelo sui 5v dell'LCD.
Grazie a tutti per l'aiuto

lesto


Imposta il watchdog ad 8 secondi, se effettivamente il codice entra in un loop infinito, questo risolverà il problema.


*nasconde* il problema, non lo risolve.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

Confermo. Se il bootloader non spenge il watchdog fin da subito, anche 8 secondi non bastano. Lo provò a suo tempo pablos quando mi scrisse dicendomi dei problemi che aveva ad usare la funzione di timeout del leOS2 sulla sua MEGA, ed anche modificando la libreria con l'intervallo di watchdog più lungo (8 secondi) la scheda resettata dal watchdog entrava in un autoreset infinito.

lesto

perchè se non erro il bootloader in questione NON spegneva il watchdog, ma in compenso ne resettava il tempo di timeout al minimo
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up