Új hozzászólás Aktív témák

  • fpeter84

    senior tag

    válasz Teasüti #2784 üzenetére

    AREF: csökkenteni lehet vele az analóg mérés tartományát, ezáltal növelni a pontosságot. Alapból a 10bit, 1024 lépcsős felbontás kb 5mV-os felbontást ad, de ha mondjuk csak pár száz mV-ot szeretnél vele mérni akkor egy külső referenciával (akár feszosztó is lehet) beállítod 0.5V-ra az AREF-et, és 0.5mV-os felbontással számolhatsz... Okosabb típusoknál lehet akár külön AREF+ és AREF-, amivel még szűkebb tartományt is ki lehet jelölni a tápfesz és föld között tetszőlegesen...

    A változók biztosan a RAM-ba, de már egy tök üres program is bekajál 9 byte-ot - ne kérdezd hogy mit tesz oda a fordító... De játszhatsz vele, és nézd hogy fordítás után milyen statisztikát ír rá az IDE... Valószínűleg van itt ott optimalizálási hibákból adódó pazarlás is, pl: ugye az alaphelyzet 9 byte használt

    char x;
    void setup() {
    x = 1;
    }
    void loop() {
    }

    ez 10 byte-ot eszik, de ha annak az x-nek ugyanezt az értéket már inicializáláskor is megadom, akkor meg 11 byte-ot ír, pedig elméletben ugyanarról változóról beszélünk - erre tud itt valaki magyarázatot adni?

    char x = 1;
    void setup() {
    x = 1;
    }
    void loop() {
    }

    A konstansok pedig elméletben a flash-be kerülnek, de most ahogy próbálgatom, 1 byte-al se nő ettől a program mérete...

    const char y = 10;
    char x = 1;
    void setup() {
    x = 1;
    }
    void loop() {
    x = y;
    }

Új hozzászólás Aktív témák