mikrocontroller.net

Forum: PC-Programmierung Fehlerhafte Antworten bei Schnittstellenansteuerung


Autor: Smilie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich programmiere seit einer Woche an einem Programm das mit einem Gerät, 
das an meine COM1 Schnittstelle angeschlossen ist, kommunizieren soll.
Ich habe eine Schleife eingebaut, damit der Befehl öfter abgerufen wird, 
da ich dies benötige. Leider kommen nicht immer richtige Antworten 
zurück. Ich habe in einem andern, schon 3 Jahre alten Forenbeitrag 
gelesen das es etwas mit dem Handshake zu tun haben könnte. Leider 
versteh ich die Angaben für mein Gerät nicht ganz. Ich hoffe mir kann 
hier jemand helfen.

Es sind folgende Angaben zum Handshake gemacht:
CTS Clear to send  CD RSSI-threshold  RTS Ignored

Ich bin für jede Hilfe dankbar

Autor: MeinerEiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heisst denn "nicht richtige Antwort"? Was wird erwartet und was 
kommt stattdessen?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Smilie schrieb:

> Es sind folgende Angaben zum Handshake gemacht:
> CTS Clear to send

Das könnte die entscheidende Leitung sein.
Deine Gegenstelle signalisiert auf dieser Leitung, ob sie bereit ist, 
Daten von dir entgegen zu nehmen.

Autor: Smilie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu MeinerEiner:
Ich senden den Befehl der die Frequenz des Gerätes anfordert. Zurück 
kommt beispielsweise ?NNNNNNN??NMHz oder ?85.12345MHz.

zu  Karl heinz Buchegger (kbuchegg) (Moderator)
Aber welcher Einstellung entspricht das in VB. Die Einstellungen, die 
zur Auswahl stehen sind:
None
XOnXOff
Requesttosend
RequesttosendXOnXOff
Die letzen beiden kann man ja eigentlich ausschließen weil das Gerät ja 
RTS also Request to send nicht unterstützt. Hat mir mein Kollege gesagt. 
Aber die andern beiden zeigen auch keinen Unterschied.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Smilie schrieb:

> Die letzen beiden kann man ja eigentlich ausschließen weil das Gerät ja
> RTS also Request to send nicht unterstützt. Hat mir mein Kollege gesagt.

RTS ist auch egal.
Ist zwar ungewöhnlich, aber warum nicht.

Wichtig ist, ob dir das Gerät über die CTS signalisiert, ob du Senden 
darfst. Und ein Kollege ist keine gute Quelle. Das Datenblatt des 
Gerätes wäre besser. Wenn dein Problem etwas mit Handshake zu tun hat, 
dann ist es im Datenblatt dokumentiert.

Autor: Smilie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also zu Handshake steht da nur das hier:
CTS Clear to send  CD RSSI-threshold  RTS Ignored

Ich hab da was entdeckt das heißt CTSHolding. Wenn ich das abfrage kommt 
False zurück. Bedeutet das, dass CTS nicht aktiv ist? Wenn ja wie 
schalte ich das ein? Und kann ich das überhaupt einschalten?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Smilie schrieb:
> Also zu Handshake steht da nur das hier:
> CTS Clear to send  CD RSSI-threshold  RTS Ignored
>
> Ich hab da was entdeckt das heißt CTSHolding. Wenn ich das abfrage kommt
> False zurück. Bedeutet das, dass CTS nicht aktiv ist?

Woher soll ich das wissen?
(Wo hast du das entdeckt?)

> Wenn ja wie
> schalte ich das ein? Und kann ich das überhaupt einschalten?

Du wahrscheinlich gar nicht.
Das klingt eher nach einer Abfrage, ob zur Zeit CTS aktiv ist oder 
nicht.


Aber machs nicht so kompliziert. Früher hat man sich mit ein paar Leds 
beholfen. Das kannst du auch.
Mach einen Stecker deines Kabels auf und klemme eine LED (samt 300 Ohm 
vorwiderstand) an die CTS Leitung auf PC Seite. Wenn die Led brennt, 
drehst du sie um (bzw. umgekehrt: wenn sie nicht brennt, dann drehst du 
sie probehalber um um zu sehen ob sie funktioniert und baust sie in 
Nicht-erleuchtetet Richtung ein.

Und dann lässt du dein Programm werken. Wenn die LED ab und zu 
aufblitzt, dann versucht das Gerät deinem Programm ein CTS zukommen zu 
lassen.

Früher hatte man dafür eigene RS232-Zwischenstecker, bei denen Rx, Tx, 
CTS, RTS über je eine LED visualisiert wurden. Ungemein praktisch, um zu 
sehen ob und wenn ja was sich auf der Leitung tut.

Autor: Smilie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das CTSHolding hab ich beim durchgehen der Methoden und Eigenschaften 
von der Klasse SerialPorts entdeckt. Habs mal einfach eingegeben in der 
Hoffung es könnte helfen. Ok danke ich versuchs mal.

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.