Microchip och deras värdelösa koder...

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Seven11
Inlägg: 547
Blev medlem: 13 maj 2004, 23:43:33

Microchip och deras värdelösa koder...

Inlägg av Seven11 »

Kod: Markera allt

l_get_sync
     movf      RCREG, W            ; Check for a valid sync byte
     xorlw     0x55
     
     btfss     STATUS, Z
     bsf       LE_SYNC
     
     bsf       LS_SYNC             ; Indicate sync received
           
     goto      ErrFlagChecks
denna koden är direkttagen från "lin.asm" en del av källkoden som tillhör ANN237 "Implementing a LIN Slave Node on a PIC16F73". Meningen är att denna koden ska kolla om den mottagna byten från USART:en är lika med 0x55 (som är en konstant för LIN bussens SYNC signal) och därefter sätta LE_SYNC som talar om för en rutin som kallas av USART:ens ISR att nästa byte ska vara ID byten. Problemet är ju att det spelar ingen roll vad SYNC byten är enligt denna kod! såååå dåligt... tycker ju att dom borde testa lite innan som släpper ANN.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Varför blir det ingen skillnad menar du?

xorlw sätter väl Z, och Z bestämmer om LE_SYNC ska sättas.

Om koden gör rätt vet jag inte, men skillnad blir det väl?
Användarvisningsbild
Icecap
Inlägg: 26662
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Spelar det ingen roll? Varför?

Efter vad jag ser kommer LE_SYNC enbart att settas när Zeroflaggan är aktiv, den blir den beroende på en EXOR mellan 0x55 och den inkommande byte och om du EXOR 0x55 med 0x55 blir resultatet 0x00 = Zeroflaggan satt.

Vad LS_SYNC är vet jag däremot inte....
Seven11
Inlägg: 547
Blev medlem: 13 maj 2004, 23:43:33

Inlägg av Seven11 »

hahaha ni har rätt... såg inte att det stod "LE_SYNC" och "LS_SYNC" trodde det stod LE_SYNC på båda... får nog dra på glasögonen i alla fall da :lol:
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> får nog dra på glasögonen i alla fall da

Det är nog ingen dålig ide, kodexemplen från Microchip's appnotes
är kända för att vara en variant på "finn fem fel"...
Skriv svar