Pages: 1 [2]   Go Down
Author Topic: Problema di affidabilità  (Read 1891 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Napoli
Offline Offline
Sr. Member
****
Karma: 7
Posts: 356
Post fata resurgo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Souliss - Open-source Distributed Home Automation with Arduino and Android

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

@veseotech

Offline Offline
God Member
*****
Karma: 9
Posts: 550
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22640
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leggi prima un poco in giro, non tutti i bootloader lo supportano correttamente.
Quello della UNO sì, quello della MEGA no.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Online Online
Shannon Member
****
Karma: 130
Posts: 10463
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22640
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


0
Online Online
Shannon Member
****
Karma: 130
Posts: 10463
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

perchè se non erro il bootloader in questione NON spegneva il watchdog, ma in compenso ne resettava il tempo di timeout al minimo
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: 1 [2]   Go Up
Jump to: