Sida 1 av 1

pic basic - knasig if

Postat: 1 juni 2004, 22:37:31
av gvs
Följande kod funkar inte, if-satsen ger alltid falskt så att else körs. varför?

if PORTB.4 = 1 Then
dela = 14
else
High PORTB.7
dela = 13
endif

Har läst på om portb.4 den kan användas vid lågvots programmering, men den configbiten är ej satt, så det ska inte vara problem då. trisb är rätt...

det är en pic 16f628

Kan verkligen inte hitta felet, antagligen ligger det någon annan stans än där. men jag vet ej var jag ska leta. hela filen finns på gusvo085.mine.nu/ekolod

Postat: 1 juni 2004, 23:10:59
av mullemeck
har du definerat portb.4 till en ingång med
t.ex trisb.4 = 1 eller input portb.4

edit: hmm de ska ju va konfigurerade så från början iof..

Postat: 1 juni 2004, 23:18:25
av $tiff
dubbelkollat så att pinnen verkligen är hög, på hårdvarunivå alltså?
dubbelkollat så att du inte skriver trisb = 0 någonstans, eller på annat sätt sätter den som utgång?
Annars ska det inte vara något speciellt med just den pinnen.

Edit: Här är ditt fel:
TRISB = %00000001

Ajja, bajja! :ajabaja:
ska vara:
TRISB = %00010001

om din if-sats ska funka!

Postat: 2 juni 2004, 07:35:31
av gvs
snacka om att känna sig dum....

Postat: 2 juni 2004, 15:57:49
av $tiff
Äsch, sånt händer väl alla? Det var ju faktist tur att det var ett så enkelt fel ändå :wink: