1. sayfa
Sorudan tam anlasilmiyor aslinda sormak istediginiz sey. beklenengun = EEPROM.read(0); seklinde okuma yapabilabilir. Ayrica eepromlarin belli yazma sayisi omru var. 100000-1000000 arasi sanirim. Ayrica eeproma yazmak belli bir sure tutuyor. Bu yuzden loop icinden surekli eeproma veri yazmaniz yanlis. |
nasıl yapabilirim benim ama beklenen gün 7 oldu elektrik kesildi setup da yapsam nasıl olur . amacım elektrik kesinde 7. günü kaybetmemek |
Setupda eeprom'dan beklenengun'e kayit yapin. Eeproma yazma isini sadece beklenengun degeri degisince yapin(bunun icin beklenengun degiskenini loop'un en sonunda tempbeklenengun seklinde bir degiskene atayin. bu satirdan once de tempbeklenengun esit mi beklenen gun seklinse karsilastirin esit degilse beklenengun'u eeproma yazin). Bir hatirlatma da yapayim. millis() fonksiyonunun degeri 49 gun sonra overflow oluyor. |
teşekkürler anladım . if ile tempdegisken beklenengun den eşit değilse veya küçükse Eeprom Write yapacam ama bunu setup a koyacam. okuma işleminde sıkıntı yok o zaman loop da kalmasının dimi ? |
Oldugunu sanmiyorum da, setupta bir kere okumaniz yeterli. |
teşekkür ederim yardımınız için şöyle bir mantık kullandım ama doğru olur mu bilmiyorum. if (beklenengun=beklenengun-1){ EEPROM.write(addr,beklenengun) } |
Orijinalden alıntı: goçhisar Abi bu konu seni bekliyor :D teşekkür ederim yardımınız için şöyle bir mantık kullandım ama doğru olur mu bilmiyorum. if (beklenengun=beklenengun-1){ EEPROM.write(addr,beklenengun) } Abi bu konu seni bekliyor :D |
= yerine == yazmaniz gerek. Birincisi atama, ikincisi karsilastirma operatoru. Yine de burada dogrudan != kullansaniz daha iyi olur sanki. Ayrica ayni degiskeni karsilastirmaniz yanlis olur. if fonsiyonunun icindeki herhangi bir atama islemi 1 degerini dondurur ve if kosulu saglanarak icindeki islevlerin calismasi gerceklesir. Yani surekli eeprom'a veri yazmaya devam ediyor. C seviyeniz anladigim kadariyla yeterli seviyede degil ama ben yardimci olabilirim, yapmak istediginiz konuda. if(beklenengun != tempbeklenengun) { // Burada eeprom'a yazin } loop() fonsiyonunun son satirinda tempbeklenegun = beklenengun; Seklinde atama yapin. |
Çok Teşekkür ederim. Yardımınız için . Evet C Bilgim fazla yok. Mantıkları anlamaya ve araştırmaya ve örneklere bakmaya çalışıyorum. Tabi görebildiğim örnekler kadar bilgim var. Acaba Nasıl C Bilgimi artırabilirim. Doğru yoldamıyım C öğrenmek için |
Bence baştan başlayın C'ye, az çok yeterli seviyeye gelmeniz çok uzun sürmez. Kodlardan, örneklerden bakarak anlamaya çalışmanızdan daha yararlı olur bence. Temel C anlatımlarını kolayca bulabilirsiniz Internette. |
Selamlar. EEPROM oluyor fakat ekranda ki 22 den geriyo doğru saydığında 25 de başlıyor . sanki 255 yazar gibi . 3 haneye çıkıyor. normalde sayan siliniyor ve de 2 saniye de değişen bu sefer daha geç değişiyor eeprom kodunu silersen yine normal e dönüyor . Video :https://youtu.be/q5hJPuVHf1c |
Sorunu çözdüm. ekranı yazdıracak yeri eeprom 0 ekledim kayıttakini gösterince gayet güzel çalışıyor |
düzeldi sanmıştım yine aynı şekilde kapayıp açınca Videodaki hata oluyor yine |
if (beklenengun>22) beklenengun=22 yapınca oldu. acaba EEPROM ilk Başta niye kayıt ettiği yerden Başlamıyorda 255 den başlıyor. |
1. sayfa
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.