[De-Nut-Discussion] RS 485 und Ethernut
Ulrich Prinz
uprinz2 at netscape.net
Sat Aug 29 22:58:23 CEST 2009
Hallo!
Der SAM7X hat zwei dedizierte Pins, RTS und CTS für DE und /RE eines
RS485 Tranceivers. Diesen Modus kann man aktivieren, in dem man im
NutConfig unter Architecture->ARM->USARTx Driver das Häkchen bei USE HW
RS485 on UART0 setzt. Welcher der beiden Pine RTS/CTS für welches der
beiden Signale zuständig ist, steht im Datenblatt.
Es ist, soweit ich das in der Kürze sehen konnte, beim AT91 keine freie
Port-Wahl vorgesehen, also es kann kein beliebiger Pin via Software für
das DE/RE verwendet werden. Beim AVR ist das so vorhanden, beim AT91
könnte man es nachträglich noch einbauen. Aber wozu, wenn es da die
schnellere Option gibt.
Das Half-Duplex/Full-Duplex kann man per _IOCLT() umschalten.
int uartmode = 1;
_IOCTL(fileno(myuart), UART_SETHDPXMODE, &uartmode);
Normalerweise ist es nicht nötig, auf HALF-Duplex zu wechseln, wenn man
die DE/RE Steuerung verwendet, denn da beide Signale gesteuert werden,
empfängt man kein Echo. Wenn Du nur DE verwenden willst, kannst Du auch
einfach /RE mit auf DE legen. Auch dann ist das Echo weg.
Gruß, Ulrich
Dominik Schröder wrote:
> Hallo
>
>
>
> Ich betreibe das Betriebssystem Ethernut 4.8.2 gerade auf einem
> At91SAM7X 256 EK. Ich möchte eine RS485 Kommunikation zu anderen Modulen
> aufbauen. Hierzu brauche ich einen Drive Enable (DE) Pin. Dieser muss
> bei einer Übertragung High gesetzt werden. Ich wollte das eigentlich mit
> einem freien IO Pin lösen. Jetzt kam mit die Idee, das RTS Signal des
> UASART dazu zu verwenden. Kann mir jemand sagen, wie ich bei der Device
> Registrierung Die Hardware Flusskontrolle einschalten kann.
>
>
>
> Dominik Schröder
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> De-Nut-Discussion mailing list
> De-Nut-Discussion at egnite.de
> http://lists.egnite.de/mailman/listinfo/de-nut-discussion
More information about the De-Nut-Discussion
mailing list