0xFFFFFF şeklindeki hex ifadeyi eeprom a nasıl yazıp tekrar okuyabilirim?

0xFFFFFF şeklindeki hex ifadeyi eeprom a nasıl yazıp tekrar okuyabilirim? Bayağı birşey denedim ama sonuç alamadım.
E
0 kişi takip ediyor.
Misafir olarak yayınla
12
12 CEVAP

Eeproma yazılabilecek en büyük değer ne onu ogrenirsen işin kolaylaşır. Mesela şöyleki bir byte yani 255 yani ff yazılır tek eeprom adresine. Sen ffffffff yazacaksan birer adres arttirarak yazacaksın.
Mesela veri =0xabcdef99 olsun
Eeprom write (adres1, ab)
Eeprom wrlte (adres2, cd ) ..

Veriyi kaydırarak AB CD ef değerlerini otomatik uygulayabilirsn.

Örneğin data=0xff12
Data>>2 yaparsan sonuç ff olur. Yada data & 0x1100 yaparsan sonuç ff olur. Bitwise operator diye aratirsan yardımcı olur

O

Okurkende tersten oku ve birleştir. Mesela adres 1 ab
Adres2 cd...

Adres1 data<<2 +adres2 data = abcd..

Bu durumları fonksiyon olarak yazarsan 2byte write gibi bir fonksiyon yaz mesela

O

byte sayi= 0xFFFFFF;
for(int i=0; i♥;i++){
EEPROM. Write(1+i, sayi);
}

S

Yemez. Hep en düşük değerlikli datayi basar

Onur Aziz 5 yıl

Dene bakalım

Sinan Kosif 5 yıl

Byte değişken tutuyosun adreslemesi nasıl artıyor söyler misin

Onur Aziz 5 yıl

Veya byte=0xaabbff bunu bas bakalım

Onur Aziz 5 yıl

Dene diyorum

Sinan Kosif 5 yıl

for(int i=0; i♥;i++){
EEPROM. Read(1+i);
}

S

com-r44mecaaipe8uk5jt0bv.jpg

görsel materyal
S

Sayıyı aabbff falan yapsana bi. Eeprom un boş halı zaten ff. Yanlış bile bassa ff basacak.

Onur Aziz 5 yıl

boş hali sıfır

Sinan Kosif 5 yıl

Sen yap kardeş dediğimi. Bı bak bakalım oluyo mu. Bu arada ff dir 0 tutulmaz eepromda

Onur Aziz 5 yıl

com-bp2k683oazd0lrvtb4rj.jpg

Sinan Kosif 5 yıl

com-gcdpu4fh4n4392cln28e.jpg

Sinan Kosif 5 yıl

com-ucuj7bzfaucgin2locpi.jpg

görsel materyal
S

loop un içine yazarsan da sonsuz döner

S

Birader sen şu sayıyı aabbff yapsana bi

O

aabbff

Mehmet Birsen 5 yıl

Şakacı şey

Onur Aziz 5 yıl

Ne denedin mesela ?

B

Sabit bir sayıyı üç parça olarak kaydetmeyi ve okumayı yaptım. Ama değişkendeki ifadeyi nasıl üçe ayıracağımı bulamadım.

Mesela 0x00FFAA i 0x00, 0xFF, 0xAA diye ayırmam lazım. Ama bu bir string değil sayı. Sayıyı stinge çevirince baştaki sıfır sorun oluyor.

Bu arada RGB ledin sistem kapanıp açıldığında son kaldığı renkte yanması için yapıyorum bunu.

E

Kardeşim nasıl ayiracagini yazdım aslında. Sayı=0x00FFAA öyle mı O zaman byte sayi1= Sayı; Byte sayi2= Sayı>>2; Byte sayi3=Sayı >>4; Boylece sayı1 0x00 Sayi2 0xff Sayi3 0xaa

Onur Aziz 5 yıl

Sorunu çözdüm arkadaşlar.

E

Rfid projelerine bak. Orda eprom a kartları yazma kodları var. Kart numarası yerine istediğin değeri gömme şansın olabilir

A