Raspberry Pico ile EEPROM Kullanımı

Ahmet

S38>S85
Katılım
31 Mayıs 2021
Mesajlar
6,101
@Gokrtl abimin ricası üzerine bu konuyu açıyorum.

Öncelikle şunu belirtmek istiyorum. Kartın datasheet dosyasında dahili eeporumun olduğuna dair bir bilgiye rastmadım kart örneklerinde gelen "EEPROM" örneğini düzenleyip daha kolay anlaşılır bir hale getirdim bunun paylaşımını yapacağım.
Datasheeti aşşağıda paylaştım görebilen varsa eeprom'u lütfen bilgilendirsin.
 

Ekler

İlk önce bu kodu çalıştıracağız;
Hem kart üstündeki "GP25" ledini yakıp söndürüyor yazınca.
Hemde seri porta çıktı yapıyor;
Kod:
#include <EEPROM.h>


int addr = 4;
 int a = 22;
void setup() {
  EEPROM.begin(512);
  pinMode(25,OUTPUT);
}

void loop() {

  EEPROM.write(addr, a);
  digitalWrite(25,HIGH);
  delay(1000);
  digitalWrite(25,LOW);
  delay(250);
 
  if (EEPROM.commit()) {
      Serial.println("YAZMA BASARILI");
  }
  else{
    Serial.println("YAZILAMADI");
  }

}
 
Yazma kodunu birkaç saniye çalıştırdıktan sonra kartın elektriğini kesin(bunu yapmayabilirsiniz elektrik kesilince kalıcılığını görmek için yapmanızı tavsiye ediyorum).
Bu kodu kartımıza yükleyip seri portu açtığımızda 22 çıktısını görmemiz gerekiyor.
Kod:
#include <EEPROM.h>


int address = 4;
int a;

void setup() {
 
  Serial.begin(115200);
  EEPROM.begin(512);
}

void loop() {
 
 a = EEPROM.read(address);
  Serial.print(a);
  Serial.println();
  delay(500);
}
 
evet bir EEPROM görünmüyor datasheet'te. Ama senin verdiğin örnek kodda da tuhaflık var. EEPROM'un hangi bus'a bağlı olduğu belli değil, SPI mı I2C mi. Belki de de PICO daki flash belleğin bir kısmını bir EEPROM gibi kullanıyor. Ama bunun için de gene kütüphanenin bir şekilde yapılandırılması lazım. Kütüphaneye demen lazım, benim eeprom SPI, I2C ye bağlı, veya bende EEPROM yok, flash'daki şu adresi EEPROM gibi kullan. Sonra EEPROM boyutunu da belirtmen lazım. Yoksa kütüphane nereden bilecek nasıl davranacağını?
 
evet bir EEPROM görünmüyor datasheet'te. Ama senin verdiğin örnek kodda da tuhaflık var. EEPROM'un hangi bus'a bağlı olduğu belli değil, SPI mı I2C mi. Belki de de PICO daki flash belleğin bir kısmını bir EEPROM gibi kullanıyor. Ama bunun için de gene kütüphanenin bir şekilde yapılandırılması lazım. Kütüphaneye demen lazım, benim eeprom SPI, I2C ye bağlı, veya bende EEPROM yok, flash'daki şu adresi EEPROM gibi kullan. Sonra EEPROM boyutunu da belirtmen lazım. Yoksa kütüphane nereden bilecek nasıl davranacağını?
abi karta ait eeprom kütphanesi verdiğim linkte.
Onu bu kütphanede nasıl diyeceğiz bilmiyorum.
Ben kartın eeprom örneğini daha sade anlaşılır hale getirdim sadece örneklerde'de yazılmamış
 
Tamam bu genel bir EEPROM kütüphanesi değil. Bu SADECE PICO için yazılmış bir kütüphane. Flash'ın bir bölgesinin EEPROM API ile yazılıp okunmasını sağlıyor.
 
Tamam bu genel bir EEPROM kütüphanesi değil. Bu SADECE PICO için yazılmış bir kütüphane. Flash'ın bir bölgesinin EEPROM API ile yazılıp okunmasını sağlıyor.
Abi peki eeprom hafızamız burda flash hafızamız kadar mı yoksa bir sınırlama var mı?
 
Aslında bir de piconun değil çipin datasheet ini bulup bakmak lazım. Bir ihtimal belki orada eeprom kırıntısına rastlarız. Bana çok mantıksız geliyor böyle gelişmiş, çift çekirdekli bir çipte eeprom olmaması.
 
mm.png
 
Maaşallah tırnak kadar çip, 654 sayfa data. EEPROM'a yer kalmamış galiba :katil2:

Rom dediği kendi bios'u oluyor ellaham.
 
Abi peki eeprom hafızamız burda flash hafızamız kadar mı yoksa bir sınırlama var mı?

Yok belli bir alan eeprom için ayrılmış. Kaynak kodunda maksimum 4 KByte olduğu anlaşılıyor, ama flash'daki adresi bu kaynak kodundan anlaşılmıyor. Ancak PICO için bir program derleyip öyle bakmak lazım.
 

Forum istatistikleri

Konular
7,401
Mesajlar
124,924
Üyeler
3,003
Son üye
Sashok777

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top