RS485/PIC18F4520-Interrupt ikke skyting for alle mottatte byte

M

mrbonzodog

Guest
Hei til alle forum medlemmer, forhåpentligvis noen kan peke meg i riktig retning.

Jeg har oppsett en enkel PIC18F4520 demonstrasjon bord med en 10Mhz krystall.Min Rx Tx pins er koblet direkte til en Maxim 3080 rs485 transciever.PIC port D0 er koblet til min (driver aktivere, (! Mottaker aktivere)) på transciever.Jeg bruker en veldig kort sikt av RJ45 kabel uten biasing eller avslutte motstander.Jeg bruker et baudhastighet av 115.200.

En PC fungerer som bus master og sende enkle ascii strenger til PIC bruker realterm.

Sende tegn fra PIC til PCen fungerer bra, ingen tegn er brutt.

Bare de første 3 tegn som utløser de rx avbryte når overføring fra PC til PIC.

For eksempel har jeg sett en breakpoint på avbruddsordrelinje behandleren.Når jeg sender "abcde" fra PC-terminal,
vil breakpoint er bare utløses for 3 tegn, a, b og c.Tilleggssøkeordene tegn synes å bli ignorert.

Jeg kunne omgå dette, men jeg ønsker å forstå hva som skjer.

Takk!

David

 
Prøv å bruke oppsigelse motstander, kanskje kan du bli kvitt dette problemet.

 
Muligens var ISR tar for lang, må være kort og fort for at baudhastighet.Du kan kontrollere dette ved å bruke en lavere rente bare for å teste.Du ville trolig ha maskinvare bufring for andre tegn, og kanskje er det bare å fange den tredje.Bare en tanke!

 

Welcome to EDABoard.com

Sponsor

Back
Top