Atmega pri nizsej teplote
David Obdrzalek
David.Obdrzalek na mff.cuni.cz
Pátek Únor 22 07:50:33 CET 2019
Mohu se mylit, ale zda se mi to takhle:
Funkce dostala jako pointr na retezec ASCII kod toho znaku (92=0x5c) (tedy
teoreticky by to tak nemuselo byt, ale gcc na avr to tak udela). Na adrese 0x005C je
jestli dobre koukam EIFR neboli indikator co za externi interrupt nastal. Co v nem
je, zalezi na elektronice zapojene k mikrokontroleru (jake interrupty zpusobuje pri
nizsich teplotach) a na programu (jak ma nastavene externi interrupty, ze se
indikuji).
Tedy jestli "\" a '\' je zapsane jako "\\" a '\\' ale to by to jinak kompilator asi
nesezral. Nicmene v lst nebo pokud to neni konstanta ale nejak se ten retezec/znak
vyrabi tak v simulatoru by bylo videt, co se tam konkretne predava.
ATmega ma bezny teplotni rozsah pouzitelnosti -40 - +80 cili beznych pokojovych 10
stupnu ;-) tomu jiste nebude vadit.
D.O.
On 22 Feb 2019 at 1:59, Michal Lukac wrote:
> Zdravim,
>
> Mam napisany program v Atmega2560, zapisuje na SD kartu. Vsetko bezalo, az kym som
> stym neprisiel pod cca 10st.C.
> Vtedy to zacalo robit chyby – cim nizsia teplota tym bolo viac chyb az to
> prestalo fungovat.
> Ja som tu chybu nasiel a opravil takze teraz ten program bezi ako ma, ale zaujimalo
> by ma preco to zaviselo od teploty.
> Chyba bola v tom ze som mal namiesto retazca “\” len znak ‘\’ v argumente
> fcie kde mal byt retazec. Potom ten retazec pri izbovej teplote mal nulovu dlzku a
> pri nizsej teplote tam bol nejaky znak 0xFC. Myslel som ze nejaka cast RAM je vadna
> a pri nizsej teplote sa necita korektne obsah ale ten program teraz bezi normalne.
> Skusal som aj na inom kuse a robilo to to iste.
> Da sa to nejak vysvetlit?
>
> m.
>
Další informace o konferenci Hw-list