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
100
Tepkime puanı
15
Puanları
18
Konum
Hollanda
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