Komunikace s terminalem
Martin Šaněk
sanek.martin@volny.cz
Sobota Srpen 14 11:32:42 CEST 2004
Dobry den,
Mam PIC16F876 a snazim se posilat data na terminal ve WIN. Snazil jsem
se to udelat podle KTE 7/2004 a nejak mi to nechce chodit. Lepe receno
znaky to vysila, ale asi to netestuje spravne priznak TXIF, protoze
kdyz tam nedam po kazdem znaku mezeru (v programu 100ms) tak to vysle
registr STA, reg DES uz ne a JEDN zase ano. Neprovede to navrat na
zacatek radku, ale odradkovani uz ano. Pripada mi, jako by program
netestoval priznak, znaky porad rval do TXREG a nektere proste
vypadly. Urcite jsem neco prehlednul (jako kdysi u EEPROMky), ale i
kdyz ctu manual porad dokola, tak me nenapada co.Program je nasledujici:
;nastaveni procesoru
banksel SPBRG
movlw .12 ;19200/4MHz
movwf SPBRG
banksel TXSTA
movlw b'00100100'
movwf TXSTA
banksel RCSTA
movlw b'10010000'
movwf RCSTA
banksel TRISB
movlw b'11111110' ;PORTB,0 vystup na LED
movwf TRISB
banksel PORTB
clrf PORTB
banksel 0
loop
movlw .1
movwf STA
movlw .2
movwf DES
movlw .3
movwf JEDN
movlw .48 ;ASCII začíná od 48 dekadicky *
addwf STA,f ;STA+48 *
addwf DES,f ;DES+48 *
addwf JEDN,f ;JEDN+48
btfss PIR1,TXIF ;kontrola volneho registru
goto $-1
movf STA,w ;precti hodnotu stovek *
movwf TXREG
; call w100ms
btfss PIR1,TXIF ;kontrola volneho registru
goto $-1
movf DES,w ;precti hodnotu desitek *
movwf TXREG
; call w100ms
btfss PIR1,TXIF
goto $-1
movf JEDN,w ;precti hodnotu jednotek *
movwf TXREG
btfss PIR1,TXIF
goto $-1
movlw 0x0D ;vrat se na zacatek radku
movwf TXREG
btfss PIR1,TXIF
goto $-1
movlw 0x0A ;odradkuj
movwf TXREG
btfss PIR1,TXIF
goto $-1
call w1s
call w1s
call w1s
goto loop
Diky za nakopnuti spravnym smerem
Martin Sanek
Další informace o konferenci Hw-list