PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Zäta
Inlägg: 181 Blev medlem: 22 september 2006, 08:25:21
Ort: Borlänge
Inlägg
av Zäta » 7 november 2007, 20:39:07
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?
Zäta
Inlägg: 181 Blev medlem: 22 september 2006, 08:25:21
Ort: Borlänge
Inlägg
av Zäta » 7 november 2007, 20:46:38
Ändrar jag så att jag läser PORTD.RD0 istället för PORTB.RB0 så funkar det också. Fattar inte detta.....
Icecap
Inlägg: 26659 Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark
Inlägg
av Icecap » 7 november 2007, 20:51:51
Har inte kollat men kan det vara något med det analoga som inte är slagit av?
sodjan
EF Sponsor
Inlägg: 43251 Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Inlägg
av sodjan » 7 november 2007, 21:01:50
> kan det vara något med det analoga...
Jo.
Alltså bara slarv vid läsningen av databladet.
Zäta
Inlägg: 181 Blev medlem: 22 september 2006, 08:25:21
Ort: Borlänge
Inlägg
av Zäta » 7 november 2007, 21:14:00
Jag håller på att kolla det. Tack för tipset!