Skämt å sido, Jag kör med en PIC16f886 och har saxat ett litet test-case nedan.
Kod: Markera allt
banksel PORTB
clrf PORTB ;Set all pins on PORTB low
*bsf PORTB, 4* ;except Pin 4
Start
call Delay_2
banksel TRISB
bcf TRISB, 0
call Delay_2
banksel TRISB
bsf TRISB, 0
goto Start
Detta klarar den galant om raden märkt med * utelämnas. Om jag däremot inkluderar den raden (naturligtvis utan *-tecken) så verkar det som att även PORTB, 0 ställs till logiskt ett. På skopet får jag upp en något fladdrig "5V-linje" i det sisstnämnda fallet. Ser precis ut som när man har en pull-up på en pinne, PORT-värdet ställt till 1 och växlar mellan I/O på densamma.
Vad är det som händer här igentligen? Någon som känner igen problematiken?
Förbehåller mig rätten för att det, mycket väl, kan vara ett idiotfel, jag har vart uppe för länge =).
Ha en bra dag!
/Tottish