www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

OLED in globalna spremenljivka

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Pon Maj 15, 2023 8:03 pm    Naslov sporočila:  OLED in globalna spremenljivka Odgovori s citatom

Hi

Imam sledeči OLED zaslon:
https://www.aliexpress.com/item/1005004464878029.html?spm=a2g0o.order_list.order_list_main.11.21ef1802IEVmGl

Ko prevedem spodnjo kodo, ki izpiše tekst na zaslon, napiše, da je ostalo malo pomnilnika, ker da je globalna spremenljivka velika. Glej sliko.

Zakaj pride do tega, ker nimam nobene spremenljivke?

Pa še to, zakaj se potrebuje Adafruit_GFX knjižnica, ker program deluje tudi brez te knjižnice?

Lp, marko

Koda:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH1106.h>

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET -1
Adafruit_SH1106 display(OLED_RESET);


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  display.begin(SH1106_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
 
}

void loop() {
 
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(25,30);
display.print("Hello World!");
display.display();
 
}



Zajeta slika_OLED.JPG
 Opis:
 Velikost datoteke:  81.97 KB
 Pogledana:  18 krat

Zajeta slika_OLED.JPG


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 610
Aktiv.: 4.45
Kraj: Vrhnika

PrispevekObjavljeno: Pon Maj 15, 2023 8:42 pm    Naslov sporočila:   Odgovori s citatom

Ja grafični zaslon porabi veliko spomina. Da izrišeš nekaj na cel zaslon 128x64 pikslov = 8192 pikslov, kar za OLED z eno barvo pomeni, da rabiš (vsaj) 1024 bajtov spomina, ki se potem pošljejo na zaslon. Ni nujno, da se vsakič pošlje na zaslon toliko podatkov, pač odvisno od zaslona in knjižnice.
Dodatno porabi nekaj spomina za razne spremenljivke še sama knjižnica.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Sre Maj 17, 2023 11:15 am    Naslov sporočila:   Odgovori s citatom

Sem pa našel drugo knjižnico U8glib.h za oled zaslone, ki pa porabi samo 249 bajtov (12%) dinamičnega spomina.

Mislim pa da ni nobene razlike v delovanju zaslona.

Lp,marko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Ned Maj 21, 2023 10:18 am    Naslov sporočila:   Odgovori s citatom

Mogoče ni razlike v delovanju zaslona, je pa razlika v performancih sistema.
Vedno je trade med velikostjo pomnilnika in performancih.

Adafruit knjižnica je dobra za takšne projekte, ker je veliko zaslonov podprti. Plus imaš online font creator, in daš custom zadeve gor.

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 47 dni


Powered by phpBB © 2001, 2005 phpBB Group