Atmega pri nizsej teplote

Michal Lukac michal.lukac na fstroj.uniza.sk
Pátek Únor 22 22:22:29 CET 2019


Nepouzite piny su zapojene nikam - vlastne len k pin liste ale k nej uz nic.
DIDR to som nevypinal. takze to bralo hodnotu s pinov.
To strchr(filepath, '/') to je dobre napisane, to uz je v tej fcii kde ma 
byt filepath (to co som zadal ja) a hlada tam znak '/'

m.



>No jo, no, jsem si myslel, ze to je jen v mailu tak nesikovne napsane, 
>jeden \ misto
>dvou, ale ze si je mam otocit, me nenapadlo :-)
>A pritom takovou hezkou teorii jsem vymyslel :-(((

>Ze zvedavosti - ty nepouzite piny jsou nekam zapojene? Nebo vubec 
>pripajene?
>Jeste v datasheetu pisou, ze se analogovym pinum ma vypinat digital input 
>buffer.

>V tom listingu je sice chybne napsano po obakrat strchr(filepath, '/') tj. 
>s
>apostrofama, ale zajimavejsi mi prijde, jak tam prekladac cvici s tema 
>registrama.
>Obcas pro nulovani pouzije ldi a obcas r1. Obcas hodnotu nastavi pomoci ldi 
>a obcas
>okopiruje z registru, kam si ji uz byl schoval - ze to neni konzistentni? 
>(no a i
>malinko usetrit by se myslim dalo)

D.O.

On 22 Feb 2019 at 13:23, Michal Lukac wrote:
> nie, SD kartou to nebolo, pozeral som CS pin a ked to prestalo fungovat 
> tak ten pin
> bol stale na 1. chyba bola v tej atmega.
> to iste aj s inou kartou.
>
> ale asi to bolo takto:
> ja som zle napisal, nebol to znak \ a ale / to je 0x2F
> ked je tam len ten znak ‘/’ pouzije priamo jeho adresu. na adrese 0x2F je 
> PINF to su analogove vstupy.
> Pouzivam len AD0 a AD1 na ostatnych pinoch neboli zapnute ani pullup takze 
> boli len tak do luftu.
> tak sa to mohlo nacitat ako 0x00 (to vysiel ako retazec 0vej dlzky) a potm 
> pri zmene teploty sa ostatne
> piny zmenili na 1 a bolo to 0xFC tie dva analogove bralo ako 0. (tiez 
> obcas to aj
> pri normalnej teplote vypadlo...)
>
>
> 080024e <_ZTV5Print>:
>   80024e:    00 00           nop
>   800250:    00 00           nop
>   800252:    c2 01           movw    r24, r4
>   800254:    e9 0a           sbc    r14, r25
>   800256:    bf 01           movw    r22, r30
>   800258:    be 01           movw    r22, r28
>   80025a:    2f 00           .word    0x002f    ; ????     <- 0x25A
>
>
> Takto to je prelozene ked tam je “/”
> --------------------------------------
>   2262:    34 01           movw    r6, r8
>   2264:    8a e5           ldi    r24, 0x5A    ; 90        <- na adrese 
> 0x25A je
> 0x2F 0x00
>   2266:    a8 2e           mov    r10, r24
>   2268:    82 e0           ldi    r24, 0x02    ; 2
>   226a:    b8 2e           mov    r11, r24
> SdFile *subdir = &d2;
> const char *origpath = filepath;
> while (strchr(filepath, '/')) {
>   226c:    28 01           movw    r4, r16
>   226e:    6f e2           ldi    r22, 0x2F    ; 47
>   2270:    70 e0           ldi    r23, 0x00    ; 0
>   2272:    c5 01           movw    r24, r10
>   2274:    82 d2           rcall    .+1284       ; 0x277a <strchr>
>   2276:    00 97           sbiw    r24, 0x00    ; 0
>
>
>
> Takto to je prelozene ked tam je ‘/’
> --------------------------------------
>   2262:    34 01           movw    r6, r8
>   2264:    8f e2           ldi    r24, 0x2F    ; 47       <- adresa je 
> hodnota to
> ho znaku
>   2266:    a8 2e           mov    r10, r24
>   2268:    b1 2c           mov    r11, r1
> const char *origpath = filepath;
> while (strchr(filepath, '/')) {
>   226a:    28 01           movw    r4, r16
>   226c:    6f e2           ldi    r22, 0x2F    ; 47
>   226e:    70 e0           ldi    r23, 0x00    ; 0
>   2270:    c5 01           movw    r24, r10
>   2272:    82 d2           rcall    .+1284       ; 0x2778 <strchr>
>
> ...
> ...
> ...
>
> 0000277a <strchr>:
>     277a:    fc 01           movw    r30, r24
>     277c:    81 91           ld    r24, Z+
>     277e:    86 17           cp    r24, r22
>     2780:    21 f0           breq    .+8          ; 0x278a <strchr+0x10>
>     2782:    88 23           and    r24, r24
>     2784:    d9 f7           brne    .-10         ; 0x277c <strchr+0x2>
>     2786:    99 27           eor    r25, r25
>     2788:    08 95           ret
>     278a:    31 97           sbiw    r30, 0x01    ; 1
>     278c:    cf 01           movw    r24, r30
>     278e:    08 95           ret
>
>



Další informace o konferenci Hw-list