Endorfin35+
Kayıtsız Üye
- Katılım
- 1 Mayıs 2020
- Mesajlar
- 4,478
24CXX serisi epromlar hakkinda bilgisi olan var mi?
24c32 yi arduino mega bagladim. i2c uzerinden birde kutuphane yukledim. Bir dongu ile 4k veri yazdim. Aninda islem tamamlandi. Verileri okudum. Yazma basarili olmus. Buraya kadar hersey guzel.
Sonra kutuphaneden birsey dikkatimi cekti byte byte iki yazma arasina 10ms write cycle time olmasi gerekir yazmis. Koydum 10ms. Benim islem 40 saniye surdu. Cok fazla... Sonra daldim biraz isin teknigine ograndigim kadari ile ilk basta mikrosaniye mertebesinde hizli iken eprom yaslandikca yazma suresi uzuyormus. Benim bilgiler ilerde yazilmazmi nasil bu isi optimize etmeliyim derdi basladi...
Eprom Kutuphanesini kaldirdim. i2c uzerinden kendim dogrudan haberlesmeye basladim.
Temel mantik soyle eproma her byte veri gittiginde eprom cevap olarak tamam abi (ack) diyor. i2c den bu kimin adresi diyorsun. Burdayim diyor. Sonra epromda 4k adres oldugundan adresi 2byte lik bir degisken ile 1byte 1 byte ayirip gonderiyorsun. Eprom yine tamam cevabi veriyor. Sonra 1byte veri gonderiyorsun. Eprom tamam diyor.
Yazma zamani ile ilgili Datasheet derki epromdan bir talepte bulundugunda yazma isi ile mesgul ise sana cevap vermez. Adres/byte seklinde veri yazdigimda her seferinde bana cevap veriyor. Demekki sorun yok. O zaman neden 10ms koy araya demis kutuphane yazan arkadas orda kafam karisiyor. Tabi i2c icin arduino nun wire.h kutuphanesini kullaniyorum. Baska biride demiski wire.h icin 32byte buffer var. 32 den fazla gonderme...
Yazarkende dusunuyorum bir yandan... O zaman ben her byte sonunda i2c yi sonlandirip yeniden baslatiyorum. Ben simdi ne yapacam..?
İ2c den talep gonderigimde cevap gelmez ise kutuphane nasil davraniyor ona bakiyim ne olacak...
24c32 yi arduino mega bagladim. i2c uzerinden birde kutuphane yukledim. Bir dongu ile 4k veri yazdim. Aninda islem tamamlandi. Verileri okudum. Yazma basarili olmus. Buraya kadar hersey guzel.
Sonra kutuphaneden birsey dikkatimi cekti byte byte iki yazma arasina 10ms write cycle time olmasi gerekir yazmis. Koydum 10ms. Benim islem 40 saniye surdu. Cok fazla... Sonra daldim biraz isin teknigine ograndigim kadari ile ilk basta mikrosaniye mertebesinde hizli iken eprom yaslandikca yazma suresi uzuyormus. Benim bilgiler ilerde yazilmazmi nasil bu isi optimize etmeliyim derdi basladi...
Eprom Kutuphanesini kaldirdim. i2c uzerinden kendim dogrudan haberlesmeye basladim.
Temel mantik soyle eproma her byte veri gittiginde eprom cevap olarak tamam abi (ack) diyor. i2c den bu kimin adresi diyorsun. Burdayim diyor. Sonra epromda 4k adres oldugundan adresi 2byte lik bir degisken ile 1byte 1 byte ayirip gonderiyorsun. Eprom yine tamam cevabi veriyor. Sonra 1byte veri gonderiyorsun. Eprom tamam diyor.
Yazma zamani ile ilgili Datasheet derki epromdan bir talepte bulundugunda yazma isi ile mesgul ise sana cevap vermez. Adres/byte seklinde veri yazdigimda her seferinde bana cevap veriyor. Demekki sorun yok. O zaman neden 10ms koy araya demis kutuphane yazan arkadas orda kafam karisiyor. Tabi i2c icin arduino nun wire.h kutuphanesini kullaniyorum. Baska biride demiski wire.h icin 32byte buffer var. 32 den fazla gonderme...
Yazarkende dusunuyorum bir yandan... O zaman ben her byte sonunda i2c yi sonlandirip yeniden baslatiyorum. Ben simdi ne yapacam..?
İ2c den talep gonderigimde cevap gelmez ise kutuphane nasil davraniyor ona bakiyim ne olacak...