www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS485 Probleme


Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mehrere Controller an RS485 angebunden. Mein Problem ist das
der RS485 Empfänger nur empfängt wen ein defenitives GND an Pin 2 und 3
amliegen. Ich wollte aber die Pins mit dem Controller ansteuern . Beim
Senden geht es aber bei 0 geht gar nichts! Kennt jemand das Problem?

Vielen Dank im vorraus

Gruß

Jürgen

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Och, schon wieder ne Hellseher Frage.

Wenn Du wissen willst, was die Pins 2 und 3 des ICs XXX machen, mußt Du
uns doch den Schaltplan mit der IC-Bezeichnung zeigen !!!


Peter

Autor: Jürgen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

na klar ohne Schaltplan läuft nix. Wäre schön wenn Du eine Lögung für
das Problem hast.

Gruß

Jürgen

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist doch alles korrekt - mit low-Pegel aktivierst du den Receiver, mit
H-Pegel den Transmitter.
Normalerweise legen alle slaves low-Pegel an ihren Transceiver, d.h.
Bus-Daten werden empfangen. Diese werden entsprechend decodiert, und
wenn einer was zu sagen hat, schaltet er auf Senden (DE=1) und schickt
seine Daten los. Es muss nur sichergestellt sein, dass garantiert nur
ein einziger Busteilnehmer zur gleichen Zeit sendet.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

aber mit Controller fuinktioniert es nicht nur wenn ich direk GND drauf
gebe. Was kann das sein?

Gruß

Jürgen

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohne Programm kann man das auch wieder schlecht sagen, ich tippe mal, du
hast vergessen DDRD.0 auf 1 zu setzen...

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich setzte nur Beim senden auf 1 danach direkt wieder auf 0.

Gruß

Jürgen

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DDRD.0 muss immer 1 sein, die Umschaltung nimmst du über PORTD.0 vor.
Und jetzt höre ich auf mit Rätselraten.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du must aber auch wirklich warten, bis das Senden beendet ist, d.h. das
Schieberegister leer ist und nicht nur bis der Sendepuffer wieder frei
ist.


Peter

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super das scheint das Problem zu sein! Wie kann ich sehen das das
Schieberegister leer ist?

Gruß

Jürgen

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
USR.TXC

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für beides gibts extra getrennte Interrupts.

Schau mal im Datenblatt bei der UART Beschreibung nach, welcher der
richtige ist.


Peter

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde so der Befehl aussehen?

sbis USR.TXC

Danke

Jürgen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.