C pic MPLABX HiTech9.80

Miroslav Draxal evik na volny.cz
Čtvrtek Duben 4 13:39:39 CEST 2013


Dobrý den,

Se v tom nějak plácám. Prosím znalce, kde dělám chybu

 

char  kopieBytu;

#define SPI_DATA_IN     PORTCbits.RC4

 

if ((kopieBytu & 0b10000000) != SPI_DATA_IN) //SPIverifi

{ chyba verifikace }

 

přeloží jako 

Rozbor pokud má verifikovat  (na vstupu RC4 je HI, v kopieBytu = 0b10000000) mi vyhodnotí jako chybu verifikace, což je špatně.

 

!                                               if ((kopieBytu & 0b10000000) != SPI_DATA_IN) //SPIverifi

0x1F48: SWAPF PORTC, W, ACCESS                                        (1001000 èW=00001001)

0x1F4A: ANDLW 0x1                                                                  (W=00000001)

0x1F4C: MOVWF divisor, ACCESS            (0x5D)                    (W do 0x5D)

0x1F4E: MOVF quotient, W, BANKED       (0x82)                 (kopieBytu do W=10000000)

0x1F50: ANDLW 0x80                                                                (W=10000000)

0x1F52: XORWF divisor, W, ACCESS          (0x5D)                  (10000000 XOR 00000001 = 10000001) ????

0x1F54: BTFSS STATUS, 2, ACCESS

 

Se mi nezdá řádek 0x1F52, ten přeci o podmínce nic neříká. 

Díky za reakce. Míra

 



__________ Informace od ESET NOD32 Antivirus, verze databaze 8191 (20130404) __________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130404/d972d9fa/attachment.htm>


Další informace o konferenci Hw-list