Внешняя EEPROM по шине I2C запись дата-время
Код: Выделить всё
/*
http://arduino.ru/forum/programmirovanie/organizatsiya-zhurnala-sobytii-v-eeprom#comment-98329
*/
#include <logEEPROM.h>
#include <DS1302.h>
Log LОG(241, 255);
DS1302 rtc(2, 3, 4);
//int t;
//int x;
void setup()
{
rtc.halt(false); // Запуск часов
rtc.writeProtect(false);
Serial.begin(9600);
}
void loop()
{
Rec t;
char output[23];
if (Serial.available() > 0) {
int incomingByte = Serial.parseInt();
switch (incomingByte) {
// Чтение последней записи
case 1:
if (LОG.MoveLast()) {
t = LОG.Read();
sprintf(output, "%02d:%02d:%02d %02d-%02d-%04d Flag:%01d", t.DateTime.hour, t.DateTime.min, t.DateTime.sec, t.DateTime.date, t.DateTime.mon, t.DateTime.year, t.flag);
Serial.println(output);
}
break;
// Чтение текущей записи
case 2:
t = LОG.Read();
sprintf(output, "%02d:%02d:%02d %02d-%02d-%04d Flag:%01d", t.DateTime.hour, t.DateTime.min, t.DateTime.sec, t.DateTime.date, t.DateTime.mon, t.DateTime.year, t.flag);
Serial.println(output);
break;
// Чтение предидущей записи
case 3:
if (LОG.MovePrevious()) {
t = LОG.Read();
sprintf(output, "%02d:%02d:%02d %02d-%02d-%04d Flag:%01d", t.DateTime.hour, t.DateTime.min, t.DateTime.sec, t.DateTime.date, t.DateTime.mon, t.DateTime.year, t.flag);
Serial.println(output);
}
break;
// Чтение следующей записи
case 4:
if (LОG.MoveNext()) {
t = LОG.Read();
sprintf(output, "%02d:%02d:%02d %02d-%02d-%04d Flag:%01d", t.DateTime.hour, t.DateTime.min, t.DateTime.sec, t.DateTime.date, t.DateTime.mon, t.DateTime.year, t.flag);
Serial.println(output);
}
break;
// Добавить новую запись
case 5:
t.DateTime = rtc.getTime();;
t.flag = 2;
LОG.AddNew(t);
break;
// Очистить все записи
case 0:
LОG.Clear();
break;
}
}
}
Как то не практично именно для счетчика наработки. Может накопиться столько что и не сосчитать даже с калькулятором).
Очистка работает после двух секундного удержания кнопкиIvan_Kornege писал(а): ↑14.03.2019{, 09:52}Память ведёт себя странно.
Скетч тест залил вроде записывает и считывается. Но не стирает.
Буду перепаивать чипы -заказал в поднебесной.
Соответственно, при восстановлении к 2018 добавляется что в памяти.