Модуль часов на DS1307 в качестве внешней памяти

Andrey_Ak
Andrey_Ak аватар
Offline
Зарегистрирован: 13.05.2020

Добрый день! Хочу применить модуль часов Tiny RTC i2c module на
микросхеме DS1307 в качестве модуля внешней энергонезависимой памяти..

Микросхема Dallas DS1307 представляет собой часы реального
времени с календарем и дополнительной памятью NW SRAM (56 байт).

Как я понимаю, эта NW SRAM память сохраняет данные за счет питания от батареи..

Вот я и хочу использовать эти 56 байт памяти.. 

Везде в статьях описано только использование часов реального времени
DS1307 в этом модуле и применение второй микросхемы EEPROM 24С32.

А вот как записать, прочитать 56 байт в DS1307 не могу найти.. 

 

 

 

b707
Offline
Зарегистрирован: 26.05.2017

что, в гугле искать совсем не умеем, да? - не стыдно?

https://forum.arduino.cc/index.php?topic=334785.0

Пример кода оттуда


#include "Wire.h"
#define DS1307_I2C_ADDRESS 0x68
#define location 0x08 //DS 1307 storage registers 0x08 to 0x3F

void setup() {
  Wire.begin();
  Serial.begin(9600);
}

void loop() {
  static long cnt_absoluto_in = 0;
  static long cnt_absoluto_out = 0;

  Serial.println("Writing data to DS1307 nvram.");
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write(location); //set storage register to begin
  Wire.write((uint8_t*)&cnt_absoluto_in, sizeof(cnt_absoluto_in));//write 4 bytes
  Wire.endTransmission();

  Serial.println("Reading data from DS1307 nvram.");
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write(location); //set storage register to begin
  Wire.endTransmission();

  Wire.requestFrom(DS1307_I2C_ADDRESS, sizeof(cnt_absoluto_out));
  Wire.readBytes((uint8_t*)&cnt_absoluto_out, sizeof(cnt_absoluto_out)); //read 4 bytes
  Wire.endTransmission();

  Serial.println(cnt_absoluto_out);
  cnt_absoluto_in += 5;
  delay(500);

}

 

Andrey_Ak
Andrey_Ak аватар
Offline
Зарегистрирован: 13.05.2020

Спасибо, попробую разобраться...  

И да, на буржуйском не понимаю толком и следовательно искать тоже не могу... 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Andrey_Ak пишет:
на буржуйском не понимаю толком
Прокачивайте. Это ведь вообще-то инвалидность - оно Вам надо?

А вообще, информации и на русском полно и даже на этом сайте. Ищите по сочетанию DS1307 и AT24C32