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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.