Pages: [1]   Go Down
Author Topic: Riduzione prestazioni  (Read 502 times)
0 Members and 1 Guest are viewing this topic.
Firenze
Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti.

Utilizzando arduino (mega 2560) per un progetto a cui sto lavorando mi sono accorto che dopo molte (MOLTE) programmazioni
del micro le sue prestazioni tendono a diminuire.
Cioè, sembra che il clock di arduino sia inferiore a quando la scheda era nuova.
Sò che che le programmazioni sono limitate a 10000 (mi pare) ma non credo di averne fatte così tante

è possibile oppure ho qualche problema hardware io (arduino pilota una scheda che controlla 5 motori a spazzole,3 resistenze saldatrici e vari sensori)

Grazie in anticipo.

Ciao van.
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 110
Posts: 6974
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Uno dei motivi di rallentamento potrebbe essere l'uso intensivo di interrupt con codice molto lungo o con delay interni.
In qual caso il micro eseguirebbe prima tutta coda di interrupt, che di volta in volta vengono richiamati da eventi interni ed esterni, e non il codice principale.
In caso di termine dei cicli lettura scrittura arvdude darebbe errore in fase di verifica e il micro non sarebbe programmabile.
Riguardo alla memoria in caso di saturazione il micro semplicemente si pianta.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

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

Riguardo alla memoria in caso di saturazione il micro semplicemente si pianta.

magari! purtroppo è molto più probabile che abbia comportamenti random
Logged

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

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 110
Posts: 6974
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si Lesto, hai ragione.  smiley-mr-green
Comunque non credo siano le "MOLTE" programmazioni quanto le correzioni e aggiunte al codice.
Se carichi il codice molte volte vuol dire che altrettante volte l'hai modificato e ampliato.
Un ciclo loop più lungo mette più tempo per essere eseguito.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 249
Posts: 21181
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il numero di cancellazioni/ scritture della Flash non ha nessuna influenza sulla velocitá di esecuzione del codice. La velocitá dipende unicamente dalla frequenza di Clock. Il Flasch é garantito dal produttore per un certo numero di cancellazioni/ scritture e che mantiene i dati per 100 anni a una temperatura di 25°C. I dati nella Flash vengono memorizzati in forma di elettroni intrappolati in un elettrodo circondato da materiale isolante. Ogni cancellazioni/ scritture perggiora le proprietá isolanti del materiale isolante e cosí dopo un certo numero di cancellazioni/ scritture non puó piú essere garantito che i livelli logici sono riconosciuti come quelli inizialmente programmati. La lettura della Flash non ha nessun limite.

Uno sketch se programmato male o deve fare tante cose puó avere necessitá di temp di esecuzioni lunghe. Se vuoi consigli devi darci lo sketch e lo schema elettrico.

Ciao Uwe
Logged

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

Quote
Riguardo ad i rallentamenti pensavo che il problema fosse la lentezza del codice ma anche con uno sketch leggerissimo
(attivazione motore fino a che l'encoder non ha raggiunto gli step desiderati e poi stop e reset step encoder e ricomincia)
non cambia nulla.

davvero non capisco con che logica hai portato avanti gli esperimeti sulla velocità.. puoi postare gli sketch ed i risultati?
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

Il numero di cancellazioni/ scritture della Flash non ha nessuna influenza sulla velocitá di esecuzione del codice.
Quoto al 100%.
Non è che dopo 1000/2000/5000 scritture sulla Flash i dati sono letti più lentamente per cui tutto gira più piano.
Sarebbe da vedere il codice per vedere se nelle 3 ISR che hai scritto  ci sono dentro istruzioni che potrebbero dar noia.
Logged


Pages: [1]   Go Up
Jump to: