EEPROMU birden fazla nasıl kullanırım?

katip

Üye
Katılım
1 Kas 2018
Mesajlar
37
Tepkime puanı
3
Puanları
8
Konum
İstanbul
Merhaba arkadaşlar eepromu birden fazla nasıl kullanırım? Örneğin şart 1.sağlanmışsa b ye veriyi yaz 2. şart sağlanmışsa c ye başka bir veriyi yaz.. Yapmak istediğim rf kumandanın buton bilgilerini eepromda tutmak. Kod aşagıda sadece bilgi almak istiyorum teşekkür ederim.

Kod:
#include <RCSwitch.h>
#include <EEPROM.h>
RCSwitch mySwitch = RCSwitch();
float a;
float x;
void setup() {
Serial.begin(9600);
EEPROM.get(0,x);
mySwitch.enableReceive(0);
}
void loop() {

if (mySwitch.available()) {
a = mySwitch.getReceivedValue();
EEPROM.put(0,a);
EEPROM.get(0,x);
}
delay(1000);
Serial.println(x);
}
 

maksut

Üye
Katılım
2 Kas 2018
Mesajlar
44
Tepkime puanı
1
Puanları
8
Konum
İzmir
Kolay pic ile yaparım bunu sana birazdan gönderirim.
 

navy

Üye
Katılım
31 Eki 2018
Mesajlar
49
Tepkime puanı
2
Puanları
8
Konum
Ankara
EEPROM.write(adres, değer); şeklinde yazabilirsin. C diye veri yazamazsn eeproma fakat EEPROM.read(adres)=C diyebilirsin. burada yazarken ve okurken aynı adresi kullanman gerektiğini unutmamalısın.
 

katip

Üye
Katılım
1 Kas 2018
Mesajlar
37
Tepkime puanı
3
Puanları
8
Konum
İstanbul
EEPROM.write(adres, değer); şeklinde yazabilirsin. C diye veri yazamazsn eeproma fakat EEPROM.read(adres)=C diyebilirsin. burada yazarken ve okurken aynı adresi kullanman gerektiğini unutmamalısın.
hocam dediğiniz şekilde 24 bitlik sayıyı kaydetmiyor?
 

alponero

Üye
Katılım
26 Eki 2018
Mesajlar
96
Tepkime puanı
14
Puanları
8
Konum
İstanbul
hocam dediğiniz şekilde 24 bitlik sayıyı kaydetmiyor?
24 bitlik sayıyı kaydetmek için 8 bit olarak 3 tane byte veri olarak bölmen gerekiyor. sonra bunları ayrı ayrı kaydetmen gerekiyor. bölmenin birkaç yöntemi var.
Kod:
byte three = (value & 0xFF);
byte two = ((value >> 8) & 0xFF);
byte one = ((value >> 16) & 0xFF);

EEPROM.write(address , three);
EEPROM.write(address + 1, two);
EEPROM.write(address + 2, one);
 
Üst