[De-Nut-Discussion] RS485 und UART1 Problem
Dominik Schröder
dominik.schroeder at bh-informativ.de
Tue Sep 1 15:24:37 CEST 2009
Hallo
Habe nun noch einmal einiges probiert, komme aber nicht weiter. Auf RTS und
CTS von USART1 tut sich einfach gar nichts.
Ich habe das ganze jetzt mal mit USART0 probiert. Da funktioniert es
komischerweise wenn ich die Hardware Flusssteuerung einschalte.
Hier kann ich die erwarteten Pegel auf RTS und CTS messen.
Habt ihr mir noch eine Idee wo ich weitersuchen kann? Und ich mach vom Code
her eigentlich nichts anders...
Gruß
Dominik Schröder
-----Ursprüngliche Nachricht-----
Von: de-nut-discussion-bounces at egnite.de
[mailto:de-nut-discussion-bounces at egnite.de] Im Auftrag von
de-nut-discussion-request at egnite.de
Gesendet: Montag, 31. August 2009 12:00
An: de-nut-discussion at egnite.de
Betreff: De-Nut-Discussion Digest, Vol 23, Issue 4
Send De-Nut-Discussion mailing list submissions to
de-nut-discussion at egnite.de
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.egnite.de/mailman/listinfo/de-nut-discussion
or, via email, send a message with subject or body 'help' to
de-nut-discussion-request at egnite.de
You can reach the person managing the list at
de-nut-discussion-owner at egnite.de
When replying, please edit your Subject line so it is more specific
than "Re: Contents of De-Nut-Discussion digest..."
Today's Topics:
1. Re: De-Nut-Discussion Digest, Vol 23, Issue 3 (Dominik Schr?der)
----------------------------------------------------------------------
Message: 1
Date: Mon, 31 Aug 2009 10:29:03 +0200
From: Dominik Schr?der <dominik.schroeder at bh-informativ.de>
Subject: Re: [De-Nut-Discussion] De-Nut-Discussion Digest, Vol 23,
Issue 3
To: <de-nut-discussion at egnite.de>
Message-ID:
<000001ca2a15$18f946b0$4aebd410$@schroeder at bh-informativ.de>
Content-Type: text/plain; charset="iso-8859-1"
Hallo
Danke f?r die Antwort. Habe das H?ckchen bei Ethernut 4.8.2 (USE HW RS485 on
UART1) gesetzt und neu compiliert. Dann hab ich den Code aus dem RS485
sample aus dem Internet in mein Programm eingef?gt:
u_long baud = 9600;
uint32_t to_485 = 1000;
uint32_t flow_uart = USART_MF_HALFDUPLEX;
u_char i;
.
.
.
/*
*Initialize UART1 device for RS485
*/
if (NutRegisterDevice(&DEV_UART1, 0, 0)) {
puts("Failed to register " DEV_UART1_NAME);
}
if ((uart = fopen(DEV_UART1_NAME, "r+")) == NULL) {
puts("Failed to open " DEV_UART1_NAME);
}
if (_ioctl(_fileno(uart), UART_SETFLOWCONTROL, &flow_uart)) {
puts("Failed to set flow control");
}
if (_ioctl(_fileno(uart), UART_SETSPEED, &baud)) {
puts("Failed to set baudrate");
}
if (_ioctl(_fileno(uart), UART_SETREADTIMEOUT, &to_485)) {
puts("Failed to set read timeout");
}
*uart ist global definiert.
Wenn ich das in compiliere und in meinen Controller lade kommt er bei der
Initialisierung bis zu "SETFLOWCONTROL". Hier wird dann die Warnmeldung "
Failed to set flow control" ausgegeben. Und auf meinen CTS/RTS Leitungen tut
sich nach wie vor nichts (Bin direkt mit dem Oszi drauf)...
Habt ihr noch eine Idee?
Gru? Dominik
-----Urspr?ngliche Nachricht-----
Von: de-nut-discussion-bounces at egnite.de
[mailto:de-nut-discussion-bounces at egnite.de] Im Auftrag von
de-nut-discussion-request at egnite.de
Gesendet: Sonntag, 30. August 2009 12:00
An: de-nut-discussion at egnite.de
Betreff: De-Nut-Discussion Digest, Vol 23, Issue 3
Send De-Nut-Discussion mailing list submissions to
de-nut-discussion at egnite.de
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.egnite.de/mailman/listinfo/de-nut-discussion
or, via email, send a message with subject or body 'help' to
de-nut-discussion-request at egnite.de
You can reach the person managing the list at
de-nut-discussion-owner at egnite.de
When replying, please edit your Subject line so it is more specific
than "Re: Contents of De-Nut-Discussion digest..."
Today's Topics:
1. Re: RS 485 und Ethernut (Ulrich Prinz)
----------------------------------------------------------------------
Message: 1
Date: Sat, 29 Aug 2009 22:58:23 +0200
From: Ulrich Prinz <uprinz2 at netscape.net>
Subject: Re: [De-Nut-Discussion] RS 485 und Ethernut
To: "Ethernut Anwenderforum (deutsch)" <de-nut-discussion at egnite.de>
Message-ID: <4A99966F.7070304 at netscape.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
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
------------------------------
_______________________________________________
De-Nut-Discussion mailing list
De-Nut-Discussion at egnite.de
http://lists.egnite.de/mailman/listinfo/de-nut-discussion
End of De-Nut-Discussion Digest, Vol 23, Issue 3
************************************************
------------------------------
_______________________________________________
De-Nut-Discussion mailing list
De-Nut-Discussion at egnite.de
http://lists.egnite.de/mailman/listinfo/de-nut-discussion
End of De-Nut-Discussion Digest, Vol 23, Issue 4
************************************************
More information about the De-Nut-Discussion
mailing list