Selamunaleyküm, EEprom üzerinde uğraşıyorum, EEprom değişkenleri hücreye alıyor ama 2022 değerini almıyor 230 olarak alıyor neden 22 yazdığımda bir sorun olmuyor?
Hocam son attığınız kodlarda biraz da olsa aydınlanma sağladım sağ olun.
Lakin "tarih yazilantarih = {24, 30, 12, 2022};" kısmından -->
Serial. Println( okunantarih. Year); diyerek tarih struct kısmından 2022 değeri çekmemiz 1 özellik mi yani RTC kütüphanesi kullanmadan çektiğimiz için biraz tuhaf geldi ama çok işime yaradı.
Neden garip geldi anlamadım, herhangi bir özellik değil bu kendi yazdığımız tarih struct'undan bir nesne oluşturduk 24, 30, 12, 2022 verisi ile ilklendirdik ve bunu eeprom'a yazdık, ardından eeprom'dan okuyup başka bir tarih nesnesine yazdık.
Neden garip geldi anlamadım, herhangi bir özellik değil bu kendi yazdığımız tarih struct'undan bir nesne oluşturduk 24, 30, 12, 2022 verisi ile ilklendirdik ve bunu eeprom'a yazdık, ardından eeprom'dan okuyup başka bir tarih nesnesine yazdık.
Sa, hocam ksb yine rahatsız ediyourum ama yine takıldığın bir kısım oldu bakabilir misin sizim ilk kodu üzerinde biraz oynayarak düzenleme yaptım ilkin yılı elektrik gittiğinde de ekrana yazıyordu şimdi tekrar 1104412672 yazıyor ne alaka anlamadım beynim yandı gerçekten. Nereyi neyi unutuyorum hocam şu kısma yardım eder misiniz ??(eeprom kısmına hücre 1 e şunu al demiştim 12 yi almıştı sonra sildim bu durumlar karşılaştım eepromu mu EEPROM.clear() mı yapmam lazım?)
İlk birkaç adrese zaten Tarih verisini yazdık, o adreslere tekrar başka bir şey yazdırırsan veriler bozulur. Her adres 8bit veri tutabiliyor, illa tek byte veri ekleyeceksen int adres =sizeof(Tarih); kaç dönerse o adresten itibaren yazdır, o donanımda struct kaç byte hizalanıyor bilmediğimden direk şu adresten itibaren yazdır diyemem . Ekstra veri eklemek istiyorsan tarih struct'una ekle, aynı şekilde ilklendirilirken de sıralamayı bozma.
örn;
İlk birkaç adrese zaten Tarih verisini yazdık, o adreslere tekrar başka bir şey yazdırırsan veriler bozulur. Her adres 8bit veri tutabiliyor, illa tek byte veri ekleyeceksen int adres =sizeof(Tarih); kaç dönerse o adresten itibaren yazdır, o donanımda struct kaç byte hizalanıyor bilmediğimden direk şu adresten itibaren yazdır diyemem . Ekstra veri eklemek istiyorsan tarih struct'una ekle, aynı şekilde ilklendirilirken de sıralamayı bozma.
örn;
peki hocam asıl projeme nasıl ekliyeceğiz bunu ilişkilendirmeye gerek kalmıyor sanırsam zamanı rtc den değişkene aktardım. 2 tane değişkenimin hafızaya almasını istiyorum sabitay ,yeniyıl3 değişkenlerini hafızaya alsa yeter. Nasıl yapabiliriz ??
Açıkladım ya kaç defa açıklayacağım? Teker teker uğraşmamak için struct tanımlayıp onunla işlem yapıyoruz, verileri blok halinde eeprom'a yazıyoruz. Bu son örnek olsun, artık gerisini bir şekilde hallet.