jak na user commands PC->PIC
Šerých Jakub
Serych@panska.cz
Pondělí Červen 7 13:06:40 CEST 2004
> Vase odpovedi mi pripadaji tak trochu jako z "jineho sveta"
> :-), cilene
> nekomu, kdo vi o cem je rec, coz ja urcite nejsem. :) Je to muj druhy
> program v asm, prakticky se na tom ucim od uplnych zacatku...
> Presto jsem
> rad, za veskerou pomoc. Idealni by bylo, pokud treba nekdo
> vite o nejakem
> verejne dostupnem source, ktery bych si mohl prostudovat a
> vycist si z toho
> tyto zakladni techniky. Jinak se z toho asi nevidim.
>
> Milan
Tak tady je soucasny stav meho prijimani znaku pro PIC16F628. Plus minus by mel odpovidat tomu vyvojaku, ale delal jsem na tom, takze nejake zmeny tam myslim jsou. Jen upozornuji, ze prijimam znaky 600Bd, takze mam spoustu casu.
Jakub Serych
USART
btfss PIR1,RCIF
goto AnaKonec
movfw RCSTA ;Nacteni znaku a ulozeni do tmp
movwf tmpsta
movfw RCREG ;Nacteni znaku a ulozeni do tmp
movwf tmp
btfss tmpsta, OERR
goto Ferror
bcf RCSTA, CREN
bsf RCSTA, CREN
bcf myflags, RXD
clrf Bptr
Ferror
btfss tmpsta, FERR
goto RXanalyza
bcf RCSTA, CREN
bsf RCSTA, CREN
bcf myflags, RXD
clrf Bptr
goto AnaKonec
RXanalyza
btfss myflags, RXD ;Jsme uz v procesu prijmu?
goto TestZacatek ;Ne - testuj, zda je pocatecni znak
movlw b0 ;Ano - strc znak do bufferu
addwf Bptr,0
movwf FSR ;Indirect adresovani
movfw tmp ;Nacteni prijateho znaku
movwf INDF ;Ulozeni na neprimou adresu
incf Bptr, 1 ;Posunuti pointeru
CMPSE Bptr, 7 ;Uz je nacten kontrolni znak?
goto AnaKonec ;ne
movfw b0 ;ano kontrolujeme XOR
xorwf b1,0
xorwf b2,0
xorwf b3,0
xorwf b4,0
xorwf b5,0
xorwf b6,0
btfss STATUS,Z ;souhlasi soucty?
goto ChybaXOR
bcf myflags,RXD ;konec prijmu
bsf myflags,RXC ;byl prijaty prikaz
clrf Bptr ;vycisteni pointeru
movlw RXdelay
movwf rde ;blokovani prijmu
goto AnaKonec
ChybaXOR
bcf myflags, RXD ;anulovani prijmu
clrf Bptr
goto AnaKonec
TestZacatek
movfw tmp
sublw 'Z'
btfss STATUS, Z
goto AnaKonec
bsf myflags, RXD
clrf Bptr
AnaKonec
Další informace o konferenci Hw-list