Pages: 1 ... 64 65 [66] 67 68 ... 72   Go Down
Author Topic: swRTC  (Read 60341 times)
0 Members and 1 Guest are viewing this topic.
0
Online Online
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo mi sorge un dubbio, ma se questo semplice trucco che pablos sta gia' usando e che tu hai descritto sul blog, cioe'
Code:
millis() - tempo_precedente > intervallo
elimina il problema overflow di millis, a che serve la tua secTimer ?
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

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

nel millis() non usi l'unsigned è sott'inteso da qualche parte?
Non ho capito questa domanda. Millis() è una funzione predefinita di Arduino che restituisce un unsigned long.
Il suo valore è quindi un 32 bit senza segno.

Quote
comunque io ho sempre usato questa

Code:
unsigned long Millis_corrente = millis();  
    if(Millis_corrente - Millis_Precedente > intervallo)
    {  
      Millis_Precedente = Millis_corrente;
      ...
      ...  
    }

che direi sia la stessa, ma ovviamente non ho mai taroccato i valori per vedere che succede, quindi così anche trovandomi vicino al punto 0 non mi salta l'opearzione? parola di lupetto smiley smiley o devo provare  smiley-grin

ciao



E' lo stesso ma fai uso di una variabile tampone inutile, sprecando quindi 4 byte di SRAM per nulla  smiley-wink
Se ottimizzi il controllo così:
Code:
if(millis() - Millis_Precedente > intervallo)
    {  
      Millis_Precedente = millis();
      ...
      ...  
    }
ottieni l'identica cosa.

EDIT:
pablos, potresti rispondermi sul thread del leOS?
« Last Edit: December 28, 2012, 12:46:16 am by leo72 » Logged


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

Leo mi sorge un dubbio, ma se questo semplice trucco che pablos sta gia' usando e che tu hai descritto sul blog, cioe'
Code:
millis() - tempo_precedente > intervallo
elimina il problema overflow di millis, a che serve la tua secTimer ?
Avevo scritto la secTimer diversi mesi prima di pubblicare una soluzione al problema di millis.
A parte questo, la secTimer è un contasecondi non un contamillisecondi. Per cui puoi usarla per misurare intervalli in secondi in tutti i casi in cui serve gestire questa unità di misura.
Logged


Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2757
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Millis() è una funzione predefinita di Arduino che restituisce un unsigned long.
va bene se è così allora tolgo la variabile di appoggio unsigned .... grazie ciao


EDIT: ho risposto al topic LEOS2
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

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

Quote
Millis() è una funzione predefinita di Arduino che restituisce un unsigned long.
va bene se è così allora tolgo la variabile di appoggio unsigned .... grazie ciao


EDIT: ho risposto al topic LEOS2
OK per entrambe.
Logged


0
Online Online
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa Leo, ma vista la grandezza della notizia, hai aperto un topic tipo "il problema millis non esiste ?"
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2757
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa Leo, ma vista la grandezza della notizia, hai aperto un topic tipo "il problema millis non esiste ?"

Prima l'overflow fa schiantare il micro, poi, no quando arriva a termine riparte da 0, poi si riparte da 0 senza schiantare niente, ma i risultati ottenuti saranno falsi, ora mi dici che il problema millis non è mai esistito ahahahahhaha sta storia è peggio dei maya.

anche qui il tutorial mostra la stessa formula l'abbiamo sempre avuta sotto il naso smiley http://arduino.cc/en/Tutorial/BlinkWithoutDelay

EDIT: Testato .... ti posso dare una testata?  smiley-grin
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

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

Che il contatore vada in overflow e che riparta da zero è indubbio.
Dopo questo, entra in gioco il "come" viene gestito il controllo. E' tutto lì. Se il controllo viene fatto in un certo modo, il problema non affligge il codice.

Di come fosse fatto nel BlinkWithoutDelay sinceramente non mi ero mai preoccupato  smiley-yell
Logged


0
Online Online
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

pablos accomodati pure, ma ritengo non sia giusto riceverla.
credo siamo sulla stessa barca, anche io come te, ho avuto il terrore dell'overflow del millis, ora scopro che il problema non c'e', basta usare bene la formula.
Ti assicuro che in questi termini non si era mai espresso nessuno, infiniti commenti ci sono sul forum sul terrore millis, e lo stesso Leo ci ha scritto fiumi prima di arrivare alla soluzione definitiva.
Sottolineare che il problema non esiste credo sia cosa buona e giusta per il mondo intero  smiley e Leo deve ricevere un premio nobel  smiley
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

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

pablos accomodati pure, ma ritengo non sia giusto riceverla.
credo siamo sulla stessa barca, anche io come te, ho avuto il terrore dell'overflow del millis, ora scopro che il problema non c'e', basta usare bene la formula.
Ti assicuro che in questi termini non si era mai espresso nessuno, infiniti commenti ci sono sul forum sul terrore millis, e lo stesso Leo ci ha scritto fiumi prima di arrivare alla soluzione definitiva.
Sottolineare che il problema non esiste credo sia cosa buona e giusta per il mondo intero  smiley e Leo deve ricevere un premio nobel  smiley

smiley-kitty
Logged


Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2757
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
accomodati pure, ma ritengo non sia giusto riceverla.

Ueee guarda che scherzavo  smiley-grin
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

0
Online Online
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10113
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

uhh nessuna citazione?  smiley-cry
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

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

uhh nessuna citazione?  smiley-cry
Vero vero...
La seconda soluzione me l'hai suggerita tu. Anzi, per dirla tutta, mi ha fatto presente tu via PM che si poteva evitare il casting perché usando l'ordine delle operazioni ed il secondo metodo di confronto, che poi è risultato essere quello del BlinkWithoutDelay, il problema non si poneva.
Logged


0
Online Online
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il premio nobel non si puo' dividere in due, quindi uno ciascuno.
Leo pero' ora devi mettere ufficialmente la citazione sul tuo Blog, e' il minimo  smiley
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Pages: 1 ... 64 65 [66] 67 68 ... 72   Go Up
Jump to: