Sida 1 av 1

Läsa PORTB på 18f4550

Postat: 7 november 2007, 20:39:07
av Zäta
Hej!

Känns pinsamt att behöva fråga om detta, men nu måste jag... :)

Jag försöker läsa PORTB.RB0 och ändra PORTD.RD1 beroende påvärdet på PORTB. Led och motstånd till RD1(som funkar) och pullup på 1,5 kohm på RB0 och via en switch till jord, men det jag verker inte kunna ändra RB0 även om jag jordar via switchen.

Koden:

void main()
{
int i;
int state = 0;

TRISD = 0;
TRISB = 0b00000111;
while(1)
{
if (PORTBbits.RB0)
{
PORTDbits.RD1 = 1;
}
else
{
PORTDbits.RD1 = 0;
}
}
}


Varför funkar det inte?

Postat: 7 november 2007, 20:46:38
av Zäta
Ändrar jag så att jag läser PORTD.RD0 istället för PORTB.RB0 så funkar det också. Fattar inte detta.....

Postat: 7 november 2007, 20:51:51
av Icecap
Har inte kollat men kan det vara något med det analoga som inte är slagit av?

Postat: 7 november 2007, 21:01:50
av sodjan
> kan det vara något med det analoga...

Jo.
Alltså bara slarv vid läsningen av databladet.

Postat: 7 november 2007, 21:14:00
av Zäta
Jag håller på att kolla det. Tack för tipset!