16F88-přes AUSART se posílá stav portu, který rozsvěcuje LED

Ahojte, prosim vas, som v koncoch. Netusim kde mam v programoch chybu, uz to lustim 3 hodiny. Pred pol rokom ked som to programoval, setko islo, dnes ani za svateho. Ma to robit taku trivialnu vec, ze vysielac bude postupne zasviecovat LEDky (RA0 - RA3) pricom vzdy cez AUSART posle primacu aktualny stav PORTu A. prijimac ten stav nahodi na svoj PORT A, teda vlastne budu robit to iste. Netusim kde je chyba. Dakujem za pomoc.

:arrow_right: administrator: přejmenováno z “16F88 AUSART”
vysielac.asm (1.19 KB)
primac.asm (976 Bytes)

Zaráží mě 8Mhz a hodnota v SPBRG 129.
A toto??

[code]PROGRAM

MOVWF TXREG
MOVWF PORTA

GOTO PROGRAM
[/code]

JJ, pred minutkou som si o vsimol a opravil

MOVFW	TXREG
MOVWF	PORTA

8MHz a 129, by malo dat baud cca 15 000, neviem kde tam vidis chybu.

Tak pokud 129 na 8Mhz už fungovalo, tak proč ne, ale že to v datashhetu není, proto se mi to nezdá.

BRGH = 0 na 19.2 Kb je SPBRG 6
BRGH = 1 na 19.2 Kb je SPBRG 25

vyskusal som aj 25 aj 6, ale stale nejde. Procaky obe bezia, ale nekomunikuju. Skus sa prosim ta blizsie pozriet na konfguraciu registrov TXSTA, RCSTA, ci nahodou nie je chyba tam. Dakujem.

U přijímače nevidím nastavení SPBRG.

hops,… aj tam treba ? :smiley: :smiley: :smiley:

Všechny komunikující mcu mezi sebou musí mít stejně nastavenou rychlost přenosu.

Vysílač:
MOVLW B’00100010’
MOVWF TXSTA

Přijímač:
MOVLW B’10010000’
MOVWF RCSTA

Dále v přijímači musíš vyzvednout data z RCREG a ne z TXREG.

Toho jsem si ani nevšiml :slight_smile:

INKOGNITTO: Já mám udělané, že přijimám data s PC a testuju PIR1,RCIF, podle toho poznám, že “něco” přišlo. Pak vybírám data s RCREG pro další použití. Ty v programu to čteš pořád dokola, tak nevím, ale aby se ti nestalo, že ten buffer vyčteš třeba v polovině příjmu, teda jestli to jde přečíst.

Diki moc chlapci uz to ide ako za sarych cias :smiley: Neprecitam ho v polke, lebo to nie je buffer. To je register uz len pre vysledok ktory sa plni az po dokonceni prijmu.