Vai al contenuto
PLC Forum


La sezione dati supera lo spazio disponibile nella scheda


Anika Laughary

Messaggi consigliati

Anika Laughary

Il mio codice si compila senza problemi, ma quando lo carico, ottengo un errore come quello mostrato nell'immagine, è perché ho troppe variabili definite?
Qualcuno può dirmi come risolvere il problema?

Arduino:1.8.12 (Windows 10), Development board: "Arduino Uno"

The project uses 6336 bytes, which occupies (19%) of the program storage space. The maximum is 32256 bytes. data section exceeds available space in board

Global variables used 3046 bytes, (148%) of dynamic memory, leaving -998 bytes for local variables. The maximum is 2048 bytes.
There is not enough memory; visit the following URL to follow the instructions to reduce memory usage.
http://www.arduino.cc/en/Guide/Troubleshooting#size
Error while compiling for development board Arduino Uno.

Turn on in File -> Preferences
"Show detailed output during compilation" option
This report will contain more information.

 

Link al commento
Condividi su altri siti


39 minuti fa, Anika Laughary ha scritto:

Qualcuno può dirmi come risolvere il problema?

 

non c'è molto da dire.

Le soluzioni possibili sono 3:

 

  • usi una scheda Arduino che abbia una RAM di capacità > 3046 bytes
  • riduci le variabili trastatiche e dinamiche in modo tale che il totale sia < di 2048 bytes; però si consiglia un'occupazione massima del 75% altrimenti potrebbero insorgere problemi con la memoria dinamica durante l'eleaborazione del programam.
  • Sposti una parte dei dati su di una RAM esterna; non ne sono sicuro ma credo si trovino shield o moduli di RAM che hanno connessione I2C.

 

Link al commento
Condividi su altri siti

Anika Laughary
18 ore fa, Livio Orsini ha scritto:

 

non c'è molto da dire.

Le soluzioni possibili sono 3:

 

  • usi una scheda Arduino che abbia una RAM di capacità > 3046 bytes
  • riduci le variabili trastatiche e dinamiche in modo tale che il totale sia < di 2048 bytes; però si consiglia un'occupazione massima del 75% altrimenti potrebbero insorgere problemi con la memoria dinamica durante l'eleaborazione del programam.
  • Sposti una parte dei dati su di una RAM esterna; non ne sono sicuro ma credo si trovino shield o moduli di RAM che hanno connessione I2C.

 

C'è una soluzione senza sostituire la scheda?

Link al commento
Condividi su altri siti

 

54 minuti fa, Anika Laughary ha scritto:

C'è una soluzione senza sostituire la scheda?

 

Scusa ma hai letto quello che ho scrtitto?

Ti ho indicato tutte le soluzioni possibili.

Link al commento
Condividi su altri siti

2 ore fa, Anika Laughary ha scritto:

non so ancora come semplificare il mio codice.

 

E come posso saperlo io o qualcun altro?

Dovresti almeno pubblicare il tuo codice, poi sperare he ci sia qualcuno che voglia analizzarlo per capire se si può ottimizzare la parte delle varaiabili in modo da ridurre l'occupazione della memoria RAM

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...