RS485/PIC18F4520-Interrupt niet bakken voor alle ontvangen bytes

M

mrbonzodog

Guest
Hallo aan alle leden van het forum, hopelijk kan iemand me in de goede richting.

Ik heb een eenvoudige setup PIC18F4520 demo board, met een 10MHz kristal.Mijn Rx Tx pinnen zijn aangesloten rechtstreeks naar een Maxim 3080 RS485 transciever.PIC D0-poort is aangesloten op mijn (bestuurder in staat stellen, (! Ontvanger inschakelen)) op de transciever.Ik gebruik een zeer korte termijn van RJ45 kabel zonder vertekenende of beëindiging weerstanden.Ik gebruik een baudsnelheid van 115.200.

Een pc is als de bus kapitein en het verzenden van eenvoudige ascii strings aan de PIC met behulp realterm.

Verzenden van tekens van de PIC aan op de pc werkt prima, geen tekens zijn verloren.

Alleen de eerste 3 tekens zijn op grond waarvan de RX onderbreken bij het verzenden van de pc naar de PIC.

Ik heb bijvoorbeeld een breekpunt op de interrupt handler.Wanneer ik "abcde" van de PC-terminal, het breekpunt is slechts de aanleiding voor de 3 tekens, a, b en c.De extra tekens lijkt te worden genegeerd.

Ik kan werk om dit, maar ik zou graag willen begrijpen wat er gebeurt.

Bedankt!

David

 
Probeert te gebruiken beëindiging weerstanden, misschien kunt u zich te ontdoen van dit probleem.

 
Eventueel de ISR is rekening te lang, te kort en snel voor dat baudrate.Je kan dit controleren met behulp van een lager tarief alleen voor de test.Je zou waarschijnlijk hebben hardware buffering voor het tweede teken, en misschien is het maar het vangen van de derde.Gewoon een gedachte!

 

Welcome to EDABoard.com

Sponsor

Back
Top