Close

Paměť / globální proměné

Úvodní stránka Fórum Hardware Arduino Paměť / globální proměné

Aktuálně jsou na stránce zobrazeny 2 příspěvky - 1. až 2. (celkem z 2)
  • Autor
    Příspěvky
  • #4732
    nemitom
    Účastník

    Zdravím,
    jsem začátečník s arduinem.
    První věc kterou jsem se pokusil zprovoznit bylo uno+SSD1306 oled.
    Knihovnu jsem pouzil Adafruit_SSD1306.h, všechno funguje, ale mám problém s pamětí i krátký program s jedním obrazkem sebere všechnu pamět (skoro 98%) co stím?
    Vlastně už testovací program zabere cca 80%.
    i tenhle program (vlastně neprogram….) zabere 65%.

    #include <SPI.h>
    #include <Wire.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    #define OLED_RESET 4
    Adafruit_SSD1306 display(OLED_RESET);
    
    void setup() {
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    
    }
    Projekt zabírá 7 148 bytů (22%)  úložného místa pro program. Maximum je 32 256 bytů.
    Globální proměnné zabírají 1 348 bytů (65%)  dynamické paměti, 700 bytů zůstává pro lokální proměnné. Maximum je 2 048 bytů.
    #4809
    Vojtěch Vosáhlo
    Účastník

    Ahoj,
    tohle je vlastně způsobeno komplexností všech knihoven. Nejspíše by se to zredukovat dalo ale to jen tak že by sis program napsal sám – bez knihoven. Obrazovka komunikuje přes I2C což je protokol který se s arduinem dá zvládnout docela jednoduše ale horší by bylo posílat všechny příkazy. V datasheetu je to sice dobře popsané ale pokud si začátečník tak je to velice složité. Mě samotného nic moc jiného nenapadá, jedině by si se mohl podívat jestli někdo neměl podobný problém a neřešil ho vlastním kódem. 2 věc co mě napadá je použití extérního úložiště, třeba SD karty, pro uložení „obrázků“ ale nevím jak se tahle obrazovka programuje. Kdyby si zde mohl napsat nějaký třeba vzorový kód z knihovny adafruitu tak bych se na to podíval. Přeju hodně štěstí.

Aktuálně jsou na stránce zobrazeny 2 příspěvky - 1. až 2. (celkem z 2)
  • Pro reakci na toto téma se musíte přihlásit.