Epprom'a sayı kaydetme

homer380

Üye
Katılım
23 Kas 2007
Mesajlar
15
Puanları
1
Yaş
40
Ben pic1684a ya sayı kaydetmek istiyom. Yalnız benim sayı biraz büyük(526314 gibi); tek bi adrese epprom 0-255 arasında kaydediyor.bilen biri varmı?Kolay bi yol.
 
sayıyı dizilere böl ve diziler halınde kaydet.
 
Biraz bahsetsen sana zahmet bölüm biraz sorunlu oluyo.
 
Hangi dili kullanıyorsun (assembly, c, basic vs)? C kullanıyorsan yardımcı olabilirim.
 
Basic bilmiyorum ama yanlış hatırlamıyorsam 16 bitlik bir değişkenin LSB ve MSB'larına degisken.1 ve degisken.2 şeklinde erişilebiliyordu. eeproma bu iki parçayı saklamanız lazım.

Veya

degisken % 256 (modulo, yani bölümden kalan) ile LSB
degisken / 256 ile MSB kısmını saklayabilirsiniz.
 
yinede saol bende matematik kısmıyla uğraşmayım demiştim.
 
Sn. Homer380

Konuyu biraz daha ayrıntılandırırsanız size yardımcı olabiliriz. Kullandığınız Pic zaten 8 bitlik siz böyle yaklaşık 20 bitle ifade edecek bir sayıyı nasıl elde ediyorsunuz. Bu sayıyı zaten pic'in içinde üretmeniz mümkün değil. Dışardan bir yerden geliyorsa yine 8 bit olarak almak zorundasınız ya da en azından pic'in ram'ine 8 bit kayıt etmelisiniz. Pic'in icinde nasıl kayıtlı ise EEPROM içinde oyle yazin. Mesela 3 adet byte bir sayıyı ifade etsin. EEPROM adresinin 3'er 3'er artırın dolayısıyla sorun ortadan kalkar. Byte1 Byte2 ve Byte3 şeklinde Pic'in icinde bulundugu gibi EEPROM yazin. EEPROM ilk adresinde (örnegin 00h adresine) Byte1 yazın bu en degerli byte olsun. Daha sonra 01h adresine Byte2 ve 02h adresine Byte3'u kayıt edin. Yeni bir rakam kayıt etmeniz gerekirse 03h den başlayın ve 05h kadar yazın. Dolayısıyla okuyacağınız zamanda 3 ve 3'ün katlarındaki rakamlarla başlayan adreslerdeki verileri okuyarak sayınızı tekrar elde ederseniz. Mesajın başında da dediğim gibi yapmak istediğinizi daha net izah edebilirseniz buradaki birçok uzman arkadas size daha iyi yardımcı olabileceklerdir. İyi çalışmalar,
 
sayac olarak kullanacagım sabit var o her enerji kesilince kaydetecem.Yani a=a+1 sayacı ile sayı milyonu bulsun istiyodum.Şimdi bu sorunu aştım.yani milyon değil milyarda kayıt edebiliyom.biraz fazla komut satırı oluyo.Sayıyı başta parcalıyom.
 
C kullanıyor olsaydınız işlem çok kolay olurdu. union tanımı ile. 4 baytlık bir değişken ile 4 tane 1 baytlık değişkeni aynı hafıza alanında tanımlar (union tanımı) ve 4 tane 1 baytlık değişkeni tek tek eeproma yazdırırdınız. Okutmak için de yine 4 tane 1 baytlık değişkeni sırasıyla eepromdan okuttunuzmu 4 baytlık değişkeniniz işleme hazır hale gelirdi.

fatih.bilge,
basic, c gibi dillerde 16 bit, 32 bit değişken tanımı yapıp üzerinde her türlü aritmetik işlemi yaptırabilirsiniz. Derleyici 8 bitlik hafıza alanlarına bu sayıları yerleştirir ve uygun kütüphaneler ile işlemlerini yaptırır. Bu konuya yabancı olmanıza şaşırdım. 8088 veya 80286 işlemcili bilgisayarlar kullanmadınız herhalde. Orada 64 bitlik işlemler nasıl yapılıyordu?
 

Forum istatistikleri

Konular
129,768
Mesajlar
929,831
Kullanıcılar
452,516
Son üye
imeysanelektrik

Yeni konular

Geri
Üst