Sida 1 av 1

Busy-flag?

Postat: 17 september 2004, 23:31:54
av Bengan
Jag försöker få min pic(16f84) att vänta på att busy-flaggan ändrats till 0, men displayen visar oftast bara Hll, alternativt Hel, ibland tom Hello, ibland vid fel plats, och det tolkar jag som att jag skickar instruktioner/data så snabbt att lcd'n inte hinner med, någon som hittar fel i koden?
Första pinnen på PORTB är kopplad till E, den andra till R/W

Kod: Markera allt

Busy	bsf	STATUS,5
	movlw	80h
	movwf	TRISA
	bcf	STATUS,5   ;RA7 är nu input
	movlw	03h
	movwf	PORTB
	goto 	Wait
Wait	btfsc	PORTA,7
	goto 	Wait
	movlw	00h
	movwf	PORTB
	bsf	STATUS,5
	movlw	00h
	movwf	TRISA
	bcf	STATUS,5   ;RA7=out
Return

Postat: 18 september 2004, 16:17:49
av Chribbe76
Om du vill utesluta att det är den snutten som är fel så lägg in en lång fördröjning istället.
Om du får samma fel så är det något annat som orsakar det.

Postat: 19 september 2004, 00:55:45
av Bengan
jag löste det hela, det var jag som hade skrivit fel i initeringsprocessen i början, PortA pekade till PortB och vice-versa vilket gjorde att jag sedan i busy-rutinen försökte initera TrisA och sen läsa ifrån PortA(som ju pekade till PortB), och det blev sallad av det hela, men nu funkar det utmärkt :D