Autor Tema: Uso del RTC ds1307(solucionado)  (Leído 1271 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Trust

  • PIC16
  • ***
  • Mensajes: 141
Uso del RTC ds1307(solucionado)
« en: 09 de Abril de 2017, 22:39:42 »
Hola, quiero usar un ds1307, he visto varios temas en este foro que tratan sobre este RTC pero no consigo hacerlo funcionar.
El código que tengo de ejemplo es lo mas básico para empezar.
Código: [Seleccionar]
#include <16F877a.h>
#device adc=10
//#device *= 16
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock = 8000000)

#define RTC_SDA PIN_C4
#define RTC_SCL PIN_C3
#include <DS1307.c>
#use i2c(Master,Fast=100000, sda=PIN_C4, scl=PIN_C3,force_sw)
#include <i2c_Flex_LCD.h>                //libreria manejo lcd

int sec;
int min;
int hrs;
int  day;
int  month;
int  yr;
int dow;
char fecha[4];

void main(){
   lcd_init();
   ds1307_init(DS1307_OUT_32_KHZ);
    i2c_lcd_backlight_On();
   ds1307_set_date_time(10,4,17,0,2,10,0);
while(true){
      ds1307_get_date (day, month, yr, dow);  /// se obtiene la fecha
      ds1307_get_time (hrs, min, sec);   /// se obtiene la hora
      ds1307_get_day_of_week(fecha);
      lcd_gotoxy(1,1);
      printf(lcd_putc,"%s %02u/%02u/20%02u",fecha,day,month,yr);
      lcd_gotoxy(2,2);
      printf(lcd_putc, "HORA: %02u:%02u:%02u",hrs, min, sec);
      delay_ms(200);
  }
}


Esto es lo más básico que he visto para poder empezar a usar este rtc, pero no se que tengo mal.

Ya lo he solucionado solo tenía que cambiar donde pone force_sw por force_hw
« Última modificación: 09 de Abril de 2017, 23:02:32 por Trust »