eeproma veri kaydetmekte izlenecek yol nedir

Başlatan zamzam23, 08 Mayıs 2015, 19:56:29

zamzam23

selamlar

08/05/15    04:17  06.01    13.11    15.00    20.25    21.46
09/05/15    04.16  06.02    13.11    15.01    20.24    21.46


bu veriler günlük namaz saatleri. ve ben bunları eeproma kaydetmek, sonrasında ordan okumak istiyorum. nasıl bir algoritmayla kaydetmeliyim ki o günkü tarihe göre veriyi elle koymuş gibi bulayım?

yaklaşık 5 yıllık veri olacak. 25lc512 ler 64K veri kaydediyor. ziyadesiyle iş görür

canbulut

tam bilemiyorum ama gün ışığına göre belirli aralıklarla belirli bir güne kadar birer ikişer dk olarak gün bazında değişimler olabiliyor. belki böyle bir algoritma uydurulabilir. Yinede tam doğruluk olmaz diye düşünüyorum. Saat bilgisi gps gibi sağlam bir yerden alınmazsa...

magnetron

#2
hocam struct tanımlasan

struct içinde

{gün , sabah, öğle, ikindi, akşam, yatsı} alanları tanımlasan olur tahminim

ezan okuyacak saat mi yapmaya çalışıyorsunuz ?


zamzam23

Benim sorum, bu verileri epprom içine hangi sırayla veya hangi algoritmala yazmam gerekiyor ki o günün tarihine göre, eeprom içerisinde fazla gezinmeden veriyi bulup çekebileyim.

Şuana kadar benim aklıma gelen,

"gün, ay, yıl, veri1,veri2,veri3..veri12" sırasıyla yazıp, sonra hangi günün verisini istiyorsam, o günü, eeprom hücrelerini tek ek dolaşıp bulmak, sonra ilgili ayı, yine aynı sistemle bulmak, ve yılı bulmak. bunların her üçünün art arda gelen bloğu bulduktan sonraki 12 hücre, benim aradığım veri oluyor.

ama bu yöntemle her seferinde çok fazla okuma yapmak gerekiyor eeprom içinde. ben daha pratik bir çözüm arıyorum varsa.

canbulut

bunları gunluk şekilde gruplarsınız. bir kere okuduğunuzu grubu son elemanında işi bittiğinde, ikinci grubu birinci grubun yerine  yazarsanız eeprom içinde fazla gezinmemiş olursunuz.
Yazma işlemini tek tek mi yazmayı düşünüyorsunuz?

ByTEK

08/05/15    04:17  06.01    13.11    15.00    20.25    21.46
09/05/15    04.16  06.02    13.11    15.01    20.24    21.46

verisi için epromda şöyle olacak;

08,04,17,06,01,13,11,15,00,20,25,21,46
09,04,16,06,02,13,11,15,01,20,24,21,46
.
.
.
.


gün = ilk bilgi 0 da sonrakiler 0+ 13 adreste olacak. gün adresini bulmak için döngü kurup son adresi +13 attıracaksın. eğer döngüde adresleri sorgulatırken istediğin gün tutarsa aşağıdaki yoldan değerleri adreslerden çekip değişkenlerine aktarırsın.(örnekte +13 ama uygulamada saklayacağın verilere göre değişebilir)

sabah saat= gün+1
sabah dakika= gün+2
öğle saat  =  gün+3
öğle dakika =gün+4
....
....
....
....
yatsı saat = gün + 11
yatsı dakika = gün + 12


yukarıdaki gibi birşey olacak. kodlama yaparken bu mantığı kullanırsan sanırım istediğini elde edersin.

zamzam23

tamam teşekkürler.

Alıntı yapılan: canbulut - 08 Mayıs 2015, 21:34:58
bunları gunluk şekilde gruplarsınız. bir kere okuduğunuzu grubu son elemanında işi bittiğinde, ikinci grubu birinci grubun yerine  yazarsanız eeprom içinde fazla gezinmemiş olursunuz.
Yazma işlemini tek tek mi yazmayı düşünüyorsunuz?

hayır tek tek yazmıcam. c# da hazırladım dosyayı.

canbulut