Komunikace s terminalem
Tomáš Hamouz
hamouz@alsoft.cz
Sobota Srpen 14 15:53:13 CEST 2004
JR> Zkratka priznak TXIF nezareaguje okamzite po naplneni TXREG, ale az o
JR> instrukci pozdeji, takze se hopne jeden NOPicek za to MOVWF TXREG a tim se
JR> zacne testovat ve smycce priznak TXIF o instrukci pozdeji, kde uz TXIF
JR> zareagoval a uz to predpokladam pojede jak se ceka :).
Predpokladam ze kdyby bylo malo mista, ze by stejne zafungovalo
testovat priznak az tesne pred odeslanim, tedy
movf STA,w ;precti hodnotu stovek, zaroven se
;stihne TXIF nastavit
btfss PIR1,TXIF ;je registr volny?
goto $-1 ;ne,cekame az se uvolni TX
*
movwf TXREG
Tomas
JR> --
JR> Jiri Bezstarosti
>> -----Original Message-----
>> From: hw-list-bounces@mailman.nethouse.cz
>> [mailto:hw-list-bounces@mailman.nethouse.cz]On Behalf Of Martin Šaněk
>> Sent: Saturday, August 14, 2004 11:33 AM
>> To: [HWnews]
>> Subject: Komunikace s terminalem
>>
>>
>> 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
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> HW-list@mailman.nethouse.cz
>> http://nethouse.cz/mailman/listinfo/hw-list
>>
>> ---
>> Příchozí zpráva neobsahuje viry.
>> Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
>> Verze: 6.0.733 / Virová báze: 487 - datum vydání: 2.8.2004
>>
JR> ---
JR> Odchozí zpráva neobsahuje viry.
JR> Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
JR> Verze: 6.0.733 / Virová báze: 487 - datum vydání: 2.8.2004
Další informace o konferenci Hw-list