Grave problema di compilazione?

Salve a tutti, ho un problema a dir poco strano e vorrei sapere se è giù accaduto a qualcun altro o addirittura se è un problema noto. Sto utilizzando Arduino DUE. Ho realizzato un firmware. Questo gira tranquillamente ma capita a volte che la sola dichiarazione in più di una variabile renda il comportamento del firmware del tutto instabile. Basta a volte spostare una dichiarazione o invertire due istruzioni per far ritornare tutto alla normalità o a far impazzire tutto il codice. Qualcuno sà quale potrebbe essere il problema?

Grazie a chiunque mi voglia rispondere

Serve vedere il codice che hai realizzato e sapere quali manovre che fai lo fanno impazzire. Quanto esperto sei di programmazione C? Potrebbe anche essere che spostando qualche cosa, gestisci male i vettori e vai a scrivere oltre al vettore (il C non controlla se tu vai fuori dal vettore).

Scrivo firmware da qualche anno. Non ho nessun problema di buffer overrun

luigidp81amg: Scrivo firmware da qualche anno. Non ho nessun problema di buffer overrun

... si, ma se comunque non metti qui il codice, nessuno può aiutarti visto che ... nessuno ha questo problema ...

Quindi, ho ci dai modo di verificarlo (codice ed esempio che provoca il problema) e magari vedere di capire dove è il problema oppure ... inutile chiedere aiuto ... :roll_eyes:

Guglielmo

ciao, ho una macchina che funziona alla perfezione, poi alle volte tiro due leve e non funziona più nulla. QUalcuno sa cosa sbaglio?

premetto che guido la macchina da parecchi anni, non ho alcun problema di serbatoio vuoto.

]:D ]:D ]:D ]:D

(senza offesa, ma mettiti nei nostri panni che dovremmo aiutarti)

AHaHaHAHAHah!!! In effetti il problema è talmente strano che mi risulta difficile essere più chiaro! Vedo di postare un esempio semplice appena possibile! ;)

Non postare esempi semplici; posta tutto il codice che Ti da problemi. I problemi poterebbero venire dalla RAM esaurita o da un array dove superi la dimensione dichiata.

Ciao Uwe

Per esperienza personale ti dico che in genere, quando ci sono comportamenti di questo tipo è perchè si usano i puntatori alla c.d.c. Ovvero si passano come argomenti in varie funzioni ma non ci si preoccupa troppo dello scope dell'area di memoria puntata, e va a finire che uno di questi puntatori alla fine punta a qualcosa che non esiste più, o addirittura non è più del valore o tipo che ci si aspetta.

niki77: si usano i puntatori alla c.d.c.

:stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: