Forum: Mikrocontroller und Digitale Elektronik Daten über RS485 Bus mit AT32UC3B0256 senden und empfangen


von C. K. (elektrotechniktiger)


Lesenswert?

Hi

ich möchte mit dem Entwicklungsboard EVK1101 für den AT32UC3B0256 über 
die USART im RS485 mode daten vomRS485 Bus einlesen und anschließend 
auch Daten senden können.

dazu habe ich an die USART einen ISL3172 angeschlossen, der die 
Pegelwandlung und die verarbeitung der Richtung macht. An die Enable 
Pins DE und RE habe ich das RTS-Pin des Kontrollers angeschlossen.

im Datenblatt vom AT32UC3B0256 S.314 steht:

The RTS pin is at a level inverse to the TXEMPTY bit. Significantly, the 
RTS pin remains high
when a timeguard is programmed so that the line can remain driven after 
the last character completion.
Figure 24-37 gives an example of the RTS waveform during a character 
transmission
when the timeguard is enabled.

TXEMPTY geht auf "1" wenn keine Daten mehr gesendet werden 
müssen(TX-Register leer) d.h. RTS geht dann auf "0" wenn der 
sendevorgang abgeschlossen ist. aber genau das passiertbei mir nicht! 
RTS bleibt durchgehend aus "1" und ich kann danach logischerweise keine 
Daten mehr lesen, da der ISL3172 auf senden eingestellt ist.

nun meine Frage:
woran liegt es, dass der RTS Pin nicht wieder auf Low geht, und was 
sollte ich jetzt ändern?


Für eure Unterstützung wäre ich sehr dankbar!

christoph

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.