Skip to content

Latest commit

 

History

History
93 lines (57 loc) · 2.78 KB

README.md

File metadata and controls

93 lines (57 loc) · 2.78 KB

DS1307

Manipulação do RTC DS1307 com PIC16F ou PIC18F

Como utilizar

Inclua os arquivos fontes no seu projeto e faça a chamada no seu código:

#include "DS1307.h"

Dentro no seu método em loop, realize a chamada do DS1307_Loop(), passando um intervalo coerente com seu projeto.

int main()
{
  // ...
  DS1307_Init();

  while (1)
  {
    DS1307_Loop(1000);
    // ...
  }
}

Não esqueça de adicionar os DS1307.h e DS1307.c na compilação.

Dependências

Este projeto depende das bibliotecas I2C, Conversions e Time oferecidas pelo MikroC, não esqueça de ativá-las.

Documentação

ℹ️ TimeStruct

  • yy - ano (2000 até 2099).
  • mm - mês (1 até 12).
  • md - dia do mês (1 até 31).
  • wd - dia da semana (1 é domingo, 2 é segunda... 7 é sábado).
  • hh - horas (0 a 23).
  • mm - minutos (0 a 59).
  • ss - segundos (0 a 59).

Todos os campos são do tipo unsigned short.

▶️ DS1307_Init()

Inicia o barramento I2C e realiza a primeira chamada para DS1307_GetDate().

🔀 DS1307_SetDate(TimeStruct *)

Recebe um parâmetro que é um ponteiro para um TimeStruct.

Configura a hora do relógio conforme o TimeStruct passado.

⤴️ DS1307_GetDate(TimeStruct *)

Recebe um parâmetro que é um ponteiro para o TimeStruct.

Lê o relógio e atualiza as informações no TimeStruct.

🔄 DS1307_Loop(unsigned short)

Verifica se o intervalo passado por parâmetro, foi alcançado, então chama o DS1307_GetDate() passando o ponteiro para um TimeStruct interno da biblioteca (DS1307_instance) e em seguida atualiza o timestamp interno (DS1307_timestamp).

🔂 DS1307_Now()

Não recebe parâmetros.

Retorna o TimeStruct interno da biblioteca (DS1307_instance).

🔢 DS1307_Timestamp()

Não recebe parâmetros.

Retorna o timestamp interno da biblioteca (DS1307_timestamp).

Agradecimentos

Autores

Felipe Pontes Francisco Bento

Licença

Este projeto é licenciado pela Licença MIT, veja LICENSE para mais detalhes.