i2c ile harici eeproma tarih ve zaman yazdırma

Başlatan ihsan_kubat, 14 Eylül 2010, 09:58:51

ihsan_kubat

Slm omereliusuk hocam programı aşagıdaki gibi baştan yapıyorum fakat
eepromdaki veriyi read edip lcd ye yazdırınca cok farklı degerler cıkıyor..
anlayamadım yardımınız için teşekkürler..


#include <16F877.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#define RTC_SDA  PIN_C4
#define RTC_SCL  PIN_C3
#define EEPROM_SDA  PIN_C4
#define EEPROM_SCL  PIN_C3

#use i2c(master, sda=RTC_SDA, scl=RTC_SCL, FORCE_HW)

#include <lcd.c>
#include <2402.c>

void main()
{
    BYTE data;
    BYTE data2;
    long int addr;
    init_ext_eeprom();
    lcd_init();
    lcd_gotoxy(1,1);

    data = 13;
    addr=9;
        write_ext_eeprom(addr, data);
    printf(lcd_putc,"w ad.\%02Lu d \%02u", addr, data);
    delay_ms(40);

    while (1)
    {
    lcd_gotoxy(1,2);

    data2 = read_ext_eeprom(addr);
    lcd_gotoxy(1,2);
    printf(lcd_putc,"r  ad.\%02Lu d \%02u", addr, data2);
    delay_ms(1000);
    }
   
}

omereliusuk

HOCAM METİNDE NE ANLAMAM GEREKTİĞİNİ DE YAZARSANIZ
BYTE data;
    BYTE data2;
BU DATA 'NIN 2 BYTE OLDUĞUNU MU SÖYLÜYOR YOKSA DATANIN WORD OLDUĞUNU BYTE DATA=DATANIN BİRİNCİ BYTE'I
BYTE DATA2= DATANIN 2.BYTE 'I OLDUĞUNU MU İFADE EDİYOR.
ÇÜNKÜ BU DİLİ ANCAK BAZEN TAKILDIĞIM YERLERDE FİKİR VERMESİ AMACIYLA ANLAMAYA ÇALIŞIYORUM.
BİR DE DAHA ÖNCEDEN HATIRIYORUM SADECE SNYE DAKİKA SAAT  GÜN AY GEREKİYOR SANIRIM. BUNLAR TOPLAMDA 5 BYTE SİZE BOŞ 2 BYTE KALIYOR. BU DA WORD DEĞİŞKENİ İÇİN YETERLİ.
ÖNCE 1307DEN VERİYİ ALIN.
SANİYE,DAKİKA,SAAT,HAFGÜN,GÜN,AY,YIL
DAHA SONRA
1307 DEN ALDIĞINIZ VERİNİN SADECE SANİYE,DAKİKA,SAAT,GÜN,AY,YIL    BÖLÜMÜNE İLAVETEN
,WORD.BYTE0,WORD.BYTE1 GÖNDERİRSENİZ TOPLAMDA SADECE 1 SAYFA EDİYOR ZATEN= SEKİZ BYTE 1 SAYFA EDER.
256 GÜNLÜK VERİYİ BU ŞEKİLDE YAZDIRABİLİRSİNİZ.
EĞER BU DEĞERİ HEMEN OKUMAK İSTİYORSANIZ
HİÇBİR ADRES DEĞİŞİKLİĞİ OLMADAN I2CIN DİYEREK OKUYUN.
1 AY SONRA OKUYACAKSANIZ DA EN SON ADRESTEN 8 ÇIKARA ÇIKARA 1. GÜNE KADAR OKURSUNUZ.

omereliusuk

İHSAN HALLETTİN HERHALDE SES ÇIKMADIĞINA GÖRE  :)