Boa tarde,
Implementei um hardware de RTC utilizando o CI DS1307, e conectei-o com um Arduino Leonardo via I2C.
Usando a RTCLib.h, criada por Jee Labs, o ajuste do relógio e obtenção de dados é perfeita, entretanto, tenho o intuito de criar uma biblioteca própria para um uso específico que tenho, e aí que entra o problema.
Tentando fazer escritas e leituras no RTC com funções da biblioteca Wire.h, nao obtenho os resultados esperados.
Tentei pegar códigos de vários sites que fazem esse acesso ao RTC diretamente via Wire.h e nenhum deles funcionou... Alguem poderia me ajudar? Postarei abaixo o código que nao funcionou:
#include <Wire.h>
void setup(){
Wire.begin();
Serial.begin(9600);
//escrevendo os valores seg 0 min 2 hora 3 dia 1...
Wire.beginTransmission(0x68);
Wire.write(0);
Wire.write(0b00001000);
Wire.write(0b00001000);
Wire.write(0b00001000);
Wire.write(0b00000001);
Wire.write(0b00000001);
Wire.write(0b00000001);
Wire.write(0b00000001);
Wire.write(0b10000000);
Wire.endTransmission();
}
char ss, mm, hh, a, b, c, d;
void loop(){
//começamos leitura
Wire.beginTransmission(0x68);
//escolho 1 reg
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(0x68,7);
ss = Wire.read();
mm = Wire.read();
hh = Wire.read();
a = Wire.read();
b = Wire.read();
c = Wire.read();
d = Wire.read();
Serial.println(ss);
Serial.println(mm);
Serial.println(hh);
Serial.println(a);
Serial.println(b);
Serial.println(c);
Serial.println(d);
Serial.println("");
delay(3000);
}
Obrigado!