ik ben bezig om een programma te maken
voor een pic met asm en daarvoor moet
ik pin Rb1 en Rb2 uitlezen me de instructie
btfss.
maar als ik dan een stroompje op Rb1 doe
doet het programma niks het blijft gewoon in
zijn lus zitten het zelfde is ook met Rb2
ik snap niet hoe het komt kan iemand mij
hier bij helpen

Kan je misschien een klein stukje code hier neerplanten?

btfss = bit test file skip if set, dus hij test het bitje in de file die je opgeeft en indien die geset blijkt (=1) dan zal die de volgende instructieregel skippen (overslaan).

ja dat van die instructie wist ik al

hier is de code:


	ORG	00h

start		bsf	03,05;
		movlw	06h;
		movwf	86h;
		clrf	85h;
		clrw	;
		bcf	03,05;
zetwissels	btfss	06h, 2
		goto	zetwissels
		btfss	06h, 1
		goto	zetwissels
		bsf	06h,03;
end

Je hebt je code niet echt fout gemaakt maar eerder wat onhandig.

Ik zal het toelichten:
De code zal nooit verder komen dan de eerste btfss zonder dat PB2 hoog wordt. Tot zover niks aan de hand, want zet je een signaal op PB2 dan zal je code over de 1e btfss heenspringen.
Maar dan....je code checkt dan vervolgens PB1, en als PB1 hoog is zal die verder springen, maar is die niet hoog dan springt de code weer naar zetwissels. En dan moet dus eerst weer PB2 hoog worden.

Jou code werkt dus wel, alleen dan moet je wel op PB2 en PB1 tegelijk een 5v signaal zetten. Maar misschien dat je dat juist wel wil? Wat moet de code precies doen?

[Bericht gewijzigd door Bastiaan op ]

dat heb ik gedaan maar dat werkt niet

ik doe het met een simulator dus misschien
in de pic zelf doet hij het wel
maar in de simulator als ik ze tegelijk hoog
maak doet hij nog niks

Op 27 december 2004 12:29:39 schreef huubsel:
dat heb ik gedaan maar dat werkt niet

maar in de simulator als ik ze tegelijk hoog
maak doet hij nog niks

Heel goed dat je de simulator gebruikt ;)
Ik heb het ook even net gesimuleerd en het werkt perfect, dus ik denk dat je iets niet goed doet in die simulator want het werkt gewoon :)

Je moet de Debugger->Stimulus Controller gebruiken.

kijk ook even of je portB wel als input gebruikt (tris juistzetten).

Op 27 december 2004 13:57:29 schreef jesus_:
kijk ook even of je portB wel als input gebruikt (tris juistzetten).

Goede opmerking ;)
Maar ik had alles van zijn code al even gechecked en hij doet het juist, dus ingangen zijn goed als ingangen gedefinieerd en uitgangen als uitgangen.

welke simulator gebruiken jullie dan