hjälp med en snutt C ´=?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

hjälp med en snutt C ´=?

Inlägg av lizerdboy »

DDRB=0; //PORTB -> Eingänge
PORTB=0x03; //Pull-Ups auf LED-Pins
for(k=0;k<250;k++) asm("nop");

if(!(PINB&0x03)) asm volatile("rjmp app_start");

den sista raden i koden är det menat att både portB pin 0 och 1 ska vara låga eller höga ? vet ej för att ("rjmp app_start"); ska köras ?

någon som kan förklara detta för mig ?=)
Användarvisningsbild
AndLi
Inlägg: 18274
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Mitt första bud får bli att:

Kod: Markera allt

....PinB           0x03
0x00 0000 && 0011    =  0000  
0x01 0001 && 0011    =  0001
0x02 0010 && 0011    =  0010
0x03 0011 && 0011    =  0011
Så jag vill påstå att rjmp:en körs när båda pinnarna är låga...
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Inlägg av lizerdboy »

vad i koden är de som säger att dom ska vara låga " if (låga) then jump ,
fattar inte vad/vart som som bestämmer att dom ska vara låga,

att de var båda benen var ganska upenbart,
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

! betyder not

if(!a) är samma som if(a == false)
if(a) är samma som if(a != false)

false är 0
Skriv svar