Σελίδα 1 από 1

arduino count uptime

Δημοσιεύτηκε: 29 Οκτ 2014, 22:12
από goulf
Καλησπέρα στην παρέα :P
Προσπαθώ να κάνω ένα μετρητή ώρας λειτουργίας ενός arduino.

Έχω βρει ένα κώδικα με την βιβλιοθήκη MsTimer2 που δουλεύει και μετράει το uptime χωρείς να επηρεάζει το πρόγραμμα μου

Κώδικας: Επιλογή όλων

#include <MsTimer2.h>

volatile unsigned long _Uptime =0;

void updateuptime() {
_Uptime++;
}

unsigned long getUpTime()
{
    unsigned long ret;
    // optional: disable interrupts
    cli();
    ret = _Uptime;
    // optional: enable interrupts 
    sei();
    return ret;
}

void setup() {
  MsTimer2::set(1000, updateuptime); 
  MsTimer2::start();
  Serial.begin(9600);
  
}

void loop() {
 
   Serial.println (_Uptime);
    delay (1000);
 
    
}
Το πρόβλημα μου τώρα είναι πώς να κάνω να κρατάει την μεταβλητή όταν κόβω την τροφοδοσία και όταν ξεκινάει να συνεχίζει από εκεί που ήταν .
Έχετε καμιά ιδέα να προτείνετε?

Re: arduino count uptime

Δημοσιεύτηκε: 29 Οκτ 2014, 23:27
από GeorgeVita
Καλησπέρα Δημήτρη!
Το arduino βασίζεται σε μC που εμπεριέχει μνήμη EEPROM για δεδομένα (μπορεί να ξαναγραφτεί πολλές φορές).
Αν και δεν χρησιμοποιώ arduino, θεωρώ ότι πρέπει να διαβάσεις τα άρθρα:
http://arduino.cc/en/Tutorial/EEPROMRead
και http://arduino.cc/en/Tutorial/EEPROMWrite