Pages: 1 [2]   Go Down
Author Topic: [Risolto] PROBLEMA IDE O SKETCH AMR ???  (Read 1522 times)
0 Members and 1 Guest are viewing this topic.
Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-mr-green
Credo proprio che il problema sia legato all' IDE.

Compilato lo stesso sketch e caricato su arduino, il problema non si presenta.

CONTINUO AD USARE LA 0022-0023 IDE PER NON AVERE ALTRE SORPRESE.

Un saluto a tutti.
Giuseppe G.
Logged

Un saluto a tutta la comunità.
Giuseppe G.

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

smiley-wink
No problem Leo72.

Tornando al problema "bug", mi sfugge qualcosa....... esistono dei limiti legati al numero di istruzioni "if" consecutive in uno sketch?
In teoria no. Sono dei salti, per il micro.

Quote

E' probabile che questo problema sia venuto fuori solo con l'utilizzo dell'IDE 1.0.3.

Provo a ricompilarlo con lo 0023, togliendo l'audio però, visto che non è supportato, e credo che cambi un pò troppo, e che quindi il problema non si manifesti.
La gestione della seriale e dell'LCD sono cambiati molto da 002x a 1.0.x.

Quote
Un' altra cosa che ho constatato è che il carattere "||" per il display non esiste ed ancora se al posto di un carattere alfanumerico inserisco degli spazi, il messaggio viene troncato del tutto da quel carattere in poi.

Alquanto strano no?
A me verrebbe da pensare ad un'esaurimento della Ram.
Quando la Ram termina, su un Lcd iniziano proprio a comparire caratteri senza senso, pescati chissà dove.
Ho notato una cosa, che tu nello sketch non usi la possibilità (offerta dall'IDE 1.0) di gestire le stringhe in Flash.
Tutti i messaggi lcd.print("qualcosa") trasformali in lcd.print(F("qualcosa"))
Non hai idea di quanta Ram risparmi.
Tutte le stringhe, infatti, prima di poter essere gestite, vengono trascritte in Ram dalla Flash.
Un'altra cosa che fa lievitare il consumo di memoria sono le chiamate alla sub-routine.


Quote
Se con la versione IDE 0023 il problema non si manifesta, torno ad usare quella. Eventualmente, ora ho a disposizione un codice di verifica per le nuove versioni dell' IDE.
Il ramo 002x non viene più sviluppato. Io non obbligherei gli utenti ad usarlo.

Quote
Un ultima cosa! Se avessi usato una variabile con lo stesso nome già dichiarato nelle librerie, l' IDE si sarebbe accorto, giusto?
Sì, 2 variabili con lo stesso nome non possono convivere
Logged


Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley
Quote
A me verrebbe da pensare ad un'esaurimento della Ram.
Quando la Ram termina, su un Lcd iniziano proprio a comparire caratteri senza senso, pescati chissà dove.
Ho notato una cosa, che tu nello sketch non usi la possibilità (offerta dall'IDE 1.0) di gestire le stringhe in Flash.
Tutti i messaggi lcd.print("qualcosa") trasformali in lcd.print(F("qualcosa"))
Non hai idea di quanta Ram risparmi.
Tutte le stringhe, infatti, prima di poter essere gestite, vengono trascritte in Ram dalla Flash.
Un'altra cosa che fa lievitare il consumo di memoria sono le chiamate alla sub-routine.

Questa mi sembra una bella idea, ci provo subito !!!
Logged

Un saluto a tutta la comunità.
Giuseppe G.

Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley smiley smiley smiley smiley

FANTASTICO !!!!!!

Grazie del consiglio Leo72.

Con il comando lcd.print(F("xxxxxxxxxxxx"); ho liberato il doppio della ram che avevo prima ed il problema non si presnta.

Compilato con IDE 1.0.3.

PS.:Ma perchè nelle specifiche questa info non l' ho trovata? Non dovrei trovarla sulle specifiche della lib LiquidCrystal ?

Ciao e grazie ancora.
Giuseppe G.
Logged

Un saluto a tutta la comunità.
Giuseppe G.

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

tutto bene quel che finisce bene.

Noto un pò di confusione con il concetto di visibilità di variabile, e il classico problema di confondere librerie e classi, ma direi che questi concetti puoi rivedereteli con calma.

il reference IMHO avrebbe bisogno di una bella riscrittura, se solo fosse editabile come il playground...
Logged

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

Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-roll-blue
Ciao lesto,

come ribadisco ogni tanto nei post, non sono un programmatore di linguaggio C.

Certi concetti per me sono arabo, proprio perchè non ne conosco l'esistenza.

Per mia curiosità e se non chiedo troppo, cosa dovrei cominciare a vedere, per farmi un'idea di quello che stai dicendo ?

I concetti sono cose importanti, e l'ignoranza da parte mia, evidenzia una carenza.

Purtroppo tutto quello che fatto fino ad ora è a titolo informativo e mi piacerebbe ampliare certi concetti, ma sono consapevole che con il fai da te, non si cresce molto sotto questo aspetto se nessuno ti aiuta, quando fai da solo.

I miei interventi, sono mirati a comprendere, imparare ed a far presente che chi come me si vuole avvicinare a questo mondo, incontra ostacoli che non ne conosce neanche l'esistenza.

Il mio codice grezzo, spartano e pieno di errori, è comunque frutto della mia voglia di imparare e conoscere.

Un detto di qualcuno qui nel forum dice: chi sà fà, chi non sà fà insegna.

Grazie comunque per avermi fatto esporre il mio pensiero.

Un saluto a tutti.

Giuseppe G.
Logged

Un saluto a tutta la comunità.
Giuseppe G.

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

san google smiley

https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDgQFjAB&url=http%3A%2F%2Fwebuser.unicas.it%2Ftortorella%2FFondInf_0809%2FPDF%2F10-visibilita%2520variabili.pdf&ei=l98MUc3hG6GK4ATP8ICoDA&usg=AFQjCNEzoZ8Cd8nOy3ksfCZbraixSUZqBw&bvm=bv.41867550,d.bGE

quì invece un esempio di libreria vs esempio di classe(o oggetto, la differenza dei due termini è sottile)
http://it.wikibooks.org/wiki/Dal_C_al_C%2B%2B/Utilizzo_basilare_di_librerie/L'uso_di_classi_e_oggetti
Logged

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

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

smiley smiley smiley smiley smiley

FANTASTICO !!!!!!

Grazie del consiglio Leo72.

Con il comando lcd.print(F("xxxxxxxxxxxx"); ho liberato il doppio della ram che avevo prima ed il problema non si presnta.
Ci avrei scommesso ma volevo la conferma da parte tua.  smiley-wink

Quote
PS.:Ma perchè nelle specifiche questa info non l' ho trovata? Non dovrei trovarla sulle specifiche della lib LiquidCrystal ?
E' segnalato solo su Serial.print. Come dice lesto, il Reference spesso viene aggiornato con una certa lentezza rispetto alle caratteristiche che vengono inserite nel core.
Logged


Torino (Italy)
Offline Offline
Sr. Member
****
Karma: 0
Posts: 269
Fare insegna a fare.Do teaches how to make.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-wink
Grazie a tutti e due per le info ed il tempo dedicato.

Provo a visionare le indicazioni che mi avete dato e spero di capirci qualcosa.


Ciao.
Logged

Un saluto a tutta la comunità.
Giuseppe G.

Pages: 1 [2]   Go Up
Jump to: