Arduino progmem sdram bellek kullanımı azaltma

emorfos

Yeni Üye
Katılım
11 Temmuz 2022
Mesajlar
1
C#:
string kardid[66];

kardid[0]= "233190152109162";

kardid[1]="121126144110249";

kardid[2]="1851591652129";

...

.....

............

kardid[65]="57177146110116";

///////////////////////

const char kardid[] PROGMEM = {"233190152109162,121126144110249,1851591652129,73195149110113,5737160110210,57177146110116,612472499,913516111065,54153241249167,8949201110207,121249165239,25161166228,2287116248205,2287116248205,1695218162212,19518514227239,227691472746,17920215427248,3131113157108,481748534233,671681442796,24323115127152,511631722739,837115427149,227136130157116,163191104157233,227184122157188,511351582749,201141622103,2287116248205,19519214627138,3512714427215,131121542714,163211130157111,21114314227201,5111913115790,243145113157142,2437512615791"};



C#:
#include <RFID.h>
#include <SPI.h>


RFID rfid(10,9);
int role=7;
String disi[15];
String denetle;
 
void setup()
{
   digitalWrite(role, HIGH);
pinMode(role, OUTPUT);


disi[0]= "233,190,152,109,162";
disi[1]="121,126,144,110,249";
disi[2]="185,159,165,2,129";
disi[66]="22,87,116,248,205";
    
 Serial.begin(9600);
  SPI.begin();
  rfid.init();
}

void loop()
{
 
  if(rfid.isCard())
  {
    if(rfid.readCardSerial())
    {
       for(int i=0; i<67; i++)
      {
      if( String(rfid.serNum[0]) + ","+String(rfid.serNum[1])+","+String(rfid.serNum[2])+","+String(rfid.serNum[3])+","+String(rfid.serNum[4]) == disi[i])
      {
         ///
        break;
      }
     }
    }
    rfid.halt();
  }
}


Bir string dizesine atmak veya flash memory den indexof ile aramak vs bir sürü şey denedim. Fakat rfid kart için Arduino Uno üzerinde sdrami en verimli nasıl kullanabilirim bilmiyorum.

Şu ana kadar PROGMEM ile %12 sdram (Fakat tepki süresi çok uzun verimlilik düşük.) kullanılıyor iken string dizisi %50 ye yakın kullanım sağlanıyor. Donma problemi olmaması için bu kart id leri en verimli nasıl kullabilirim?
 
Elinde raspberry pico varsa onu kullan. En fazla 3% kullanırsın hafızayı.
 
Bellek kullanımını azaltmak için doğrudan C string'leri ile çalışabilirsin. String class kullandığın zaman onunla ilgili bir sürü ilave kod işin içine giriyor.
 

Forum istatistikleri

Konular
5,823
Mesajlar
99,365
Üyeler
2,476
Son üye
mrmandos

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top