hi,
also ich hab jetzt ein programm auf ein paar zeilen gekürzt und ich kann den fehler einfach nicht finden.
also ich frage in einer main-schleife immer drei pins wenn einer davon an ist dann soll eine led entweder aus oder an gehen.
schaut euch einfach den code an, ist besser zu verstehen als meine ausdrucksweise.
Code:
list p=18f4680
#include <P18f4680.INC>
__config _CONFIG2L, _PWRT_ON_2L
__config _CONFIG2H, _WDT_OFF_2H
__config _CONFIG1H, _OSC_HS_1H
__config _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L
start
movlw B'00011100'
movwf TRISB
clrf PORTB
clrf LATB
main
btfsc PORTB,2 RB2 abfragen, wenn HIGH dann führe nächsten befehl aus
bsf PORTB,7 LED an
btfsc PORTB,3 RB3 abfragen, wenn HIGH dann führe nächsten befehl aus
bcf PORTB,7 LED aus
btfsc PORTB,4 RB4 abfragen, wenn HIGH dann führe nächsten befehl aus
bsf PORTB,7 LED an
goto main
end
also an RD2, 3 u. 4 hängen kleine taster, die die pins auf high setzen.
die taster funktionieren alle, also an dene kanns nicht liegen.
pull-down widerstände sind auch dran.
und ich weiss einfach nicht mehr weiter an was das leigen könnte.
mfg
pitt
Lesezeichen