Arduino progmem sdram bellek kullanımı azaltma

emorfos

Yeni Üye
Katılım
11 Temmuz 2022
Mesajlar
1
Kod:
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"};



Kod:
#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.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,541
Mesajlar
126,342
Üyeler
3,056
Son üye
iwingamesclub

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
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 :)
Back
Top