Keresés

Hirdetés

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

  • Peter789

    senior tag

    válasz vargalex #2912 üzenetére

    Pont valamikor a napokban fogtam ki a trunk repo-nak egy olyan állapotát, hogy egyszerűen sehol nem volt benne semmi luci csomag! Lehet a kolléga is hasonló pillanatot fogott ki és akkor döntött úgy hogy áttekeri a forrást a BF repo-ra...

    (#2898) tlac

    Egyértelműen rosszul kezeli a 64 bites változókat, nem csak a bitműveletek dobnak hibás eredményeket hanem az egyéb aritmetikai műveletek is! Továbbá ha a 8 bites változón olyan biteltolást végzek amitől már 32 bitesnél nagyobb számként kellene kezelnie ideiglenesen akkor szintén sérül. Ezért működött 4 byte-ig a tologatás, felette nem... Az okát továbbra sem tudom - majd egyszer megpróbálok utánajárni - viszont a több előre megírt méretű lekérdező függvény helyett inkább írtam egyetlen másikat, aminek meg kell adni az induló regiszter mellett a lekérdezés hosszát is és adott hosszú tömbként adja vissza. Egyetlen szépséghibája, hogy a malloc nélkül rosszul műküdik, malloc-al viszont véglegesen foglalná a memóriát ezért a függvény meghívása után minden egyes alkalommal rá kell ereszteni a free eljárást is a feleslegessé vált változóra... Csináltam egy próba programot ami maximális tempóval olvasott ki újra meg újra egy 256byte-os emulált EEPROM-ot, és ha nem volt ott a free a végén akkor folyamatosan emésztette fel a memóriát megáról megára, free-vel viszont megelégszik pár K-val órák után is...

    uint8_t * i2cReadReg(uint8_t reg, uint16_t len)
    {
    uint8_t *data = malloc(len*sizeof(uint8_t));
    data[0] = reg;
    if (write(g_i2cFile, data, 1) != 1) { perror("i2cReadReg set register"); }
    if (read(g_i2cFile, data, len) != len) { perror("i2cReadReg read value"); }
    return data;
    }

    ----------------------------------------------------------------------------------------------------------------- AquAgorA ...Pál apostol nyomában:                                                                          http://fleettracker.eu/index.php/component/aquagora

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