Problema con F() e goto


rieccomi con un paio di domandine:

ho bisogno di saltare direttamente da una funzione al loop principale, inizialmente pensavo di usare il goto ma non funziona fra funzioni diverse. sapreste suggerirmi un'alternativa? 



leggevo che se aggiungo f() mi salva la stringa sulla flash e non m'intasa la ram. pensavo di applicarla alla variabile string universalstringout. utilizzo la variabile string universalstringout come tramite fra le varie funzioni e ciò che viene visualizzato sull'lcd. ecco la riga di codice che mi da errore:

lcd.print(f(universalstringout));



ecco invece che errore mi da:


arduino:1.6.3 (windows 8.1), scheda:"arduino due (programming port)"


error: invalid cast type 'string' type 'const __flashstringhelper*'

 #define f(string_literal) (reinterpret_cast<const __flashstringhelper *>(pstr(string_literal)))

                                                                                              ^
note: in expansion of macro 'f'

errore durante la compilazione


sapreste aiutarmi? grazie =)

prova pensarci, se una stringa viene memorizzata nella flash, e non può essere spostata nella ram, come può essere modificata? f([string]) vale solo per le costanti.
code: [select]
f("testo fisso che non cambia nel tempo")
quello che serve te è una variabile globale, che sia accessibile da tutte le funzioni dello sketch. basta dichiararla prima del setup().


Arduino Forum > International > Italiano > Software (Moderator: leo72) > Problema con F() e goto


arduino

Comments