Arduino, jeden kod, rozdielne velkosti po preklade

C,C++,C#

Moderátori: psichac, Moderátori

epto
Stály člen
Stály člen
Príspevky: 151
Dátum registrácie: 09 Nov 2012, 16:23
Bydlisko: Seňa

Arduino, jeden kod, rozdielne velkosti po preklade

Príspevok od používateľa epto » 14 Apr 2020, 14:08

Zdravim,

Skusam ozbehat meteostanicu, kde meriam teplot, vlhkost, smer vetra, rychlost vetra, tlak a zrazky. Kniznica je pouzita iba pre cidlo vlhkosti)teploty a tlaku. To funguje vporiadku.
Pri merani rychlosti vetra vyuzivam meranie casu medzi 4 impulzami z rychlomeru (2 impulzy na otacku).
Meria to celkom presne (kontrolovane podla otacok vrtacky, ktore su +- zname, mam mat 350 ot/min zmeral som 327 ot/min).
Z uvedeneho usudzujem, ze principialne je kod v poriadku.
Stalo sa mi vsak, ze po urcitom case sa vysledna rychlost zasekla na jednej hodnote a uz sa nemenila. Po restare to zas chvilu islo a potom znovu sa zaseklo. Kedze ariadenie je namontovane vonku, kod som preniesol do NTB, aj vsetky kniznice, skompiloval a nahraj do arduina (doska s ESP32)
Zarazila ma vsak velkost kodu skompiovaneho na PC (cca 219kB) a v NTB(200kB). Rozdiel je 20kB co je 10%. Pre istotu som nakopiroval kniznice z PC do NTB, pouzil rovnaku verziu IDE a vysledny kod mal rozdielnu velkost.
Netusite cim by to mohlo byt? (Na PC an na NTB bezi rovnaky OS - Mint )

najvacsia zahada je, ze ked som stanicu preniesol kvoli mechanickej oprave do dielne, zmenil som v programe iba dobu bliknutia LED (skratil som dobu svitu z 300ms na 100ms, cize zmena z delay(300) na delay(100) a nahral do ESPcka tak kod mal tych cca 219kB a zamrznutie sa prejavilo znovu!

Nechapem v com je problem, co je o tolko ine v prelozenom kode, ze je ina velkost a zrejme aj funkcnost/nefunkcnost.

Este mam v plane uplne rovnaky kod nahrat raz z PC a raz z NTB pre overenie, ze kod z PC zamrza...

Poznamka:
oprava kodu spocivala iba v deklarovani premennych co sa menia v obsluhe prerusenia, ako volatile.

Napadlo ma ci kompilator v PC ignoruje nastavenie volatile pre premenne a kompilator v NTB to respektuje.
Este poznamka, zamrzne iba meranie rychlosti, zvysok funguje dalej.

Budem vdacny za kazdu radu
0

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: Arduino, jeden kod, rozdielne velkosti po preklade

Príspevok od používateľa dan21 » 14 Apr 2020, 14:22

Nie som Arduinista, ale skus porovnat verzie jednotlivych pouzitych kniznic. Potom verziu Arduina IDE ......
0

epto
Stály člen
Stály člen
Príspevky: 151
Dátum registrácie: 09 Nov 2012, 16:23
Bydlisko: Seňa

Re: Arduino, jeden kod, rozdielne velkosti po preklade

Príspevok od používateľa epto » 14 Apr 2020, 14:25

Ako som pisal, kniznice aj IDE maju rovnake verzie v PC aj v NTB.
0

Používateľov profilový obrázok
rudko
Power user
Power user
Príspevky: 2339
Dátum registrácie: 28 Dec 2012, 08:33
Vek: 37

Re: Arduino, jeden kod, rozdielne velkosti po preklade

Príspevok od používateľa rudko » 14 Apr 2020, 14:48

nastavenia kompilatora?
0
Drink coffee. Do stupid things faster with more energy...

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: Arduino, jeden kod, rozdielne velkosti po preklade

Príspevok od používateľa dan21 » 14 Apr 2020, 15:05

verzia kompilatora ?
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6202
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: Arduino, jeden kod, rozdielne velkosti po preklade

Príspevok od používateľa pocitujlasku » 14 Apr 2020, 15:18

kedze Mint, tak predpokladam, ze arduino pouziva gcc zo systemu a to bude v rozdielnych verziach
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok