FT232BM CTS/RTS nutzen, Problem....

  • Thread starter Nicolas Nickisch
  • Start date
N

Nicolas Nickisch

Guest
Hi NG,
bislang habe ich den FT232BM zusammen mit einem ATMEGA16 und 3 Leitungen
(GNDm RXD, TXD) benutzt, was im Prinzip problemlos funktioniert.

nun möchte ich sicherstellen, dass der sendende PC den ATMEGA nicht
überfährt, was möglicherweise aktuell ein Problem meiuner Software ist.

Also nachträglich RTS und CTS verdrahtet, CTS an PA6.

Nun habe ich mich mal im Internet umgesehen und bin immer noch etwas
verwirrt.

Ich habe das so verstanden:

PA6 müsste ein AUSGANG sein und normalerweise auf 0 stehen. Das bedeutet,
der PC darf senden.
Wenn ich ihn stoppen will, dann setze ich PA6 auf HIGH, CTS wäre dann HIGH.
Sobald meinľC soweit ist, setzt er wieder PA6 auf low.

PA7 wäre dann EIngang - richtig ? RTS lasse ich momentan mal aussen vor.

Sobald PA6 mit CTS am FT232BM verbunden ist, dann steht hier immer LOW an,
egal wie ich den Pin porgrammiere. Einen Masseschluss scheine ich
messtechnisch nicht zu haben.
Mit diesen Zeilen versuche ich den Port zu programmiere.
DDRA = (1<<CTS_BIT);
PORTA = (1<<CTS_BIT);

Muss ich noch irgendwas beachten ?

Gruss Nico
 
Hallo,

lies doch noch mal in der FTDI-Doku nach, ob CTS ein Eingang oder Ausgang ist.
In der Doku gibt es sogar Beispiele zur Anschaltung von Microcontrollern.

Freu Dich jedoch nicht zu früh.

RTS / CTS funktioniert nur träge. Wenn Du dem PC über RTS/CTS das Versenden
weiterer Daten verbieten willst, dann leert der FTDI232BM noch seinen Puffer.
Solltest allso auf Alle Fälle noch einen Eingangspuffer für die Serielle Daten
vorsehen.

Gruss Jochen
 
Also, lt. Doku ist CTS ein EINGANG, invertiert.
Entsprechend sollte ich damit den Fluss steuern können.

Wie ist das mit der Trägheit zu sehen ?

Ich übertrage die Daten paketweise - 16 Bytes.
Danach soll erstmal die Übertragung stoppen, bis die Verarbeitung
abgeschlossen ist.
Letztendlich ist die Überlegung für RTS/CTS gefallen, weil der Puffer, als
Ringpuffer konzipiert nicht so recht funktioniert hat.

Oder muss ich nach jedem Zeichen die Leitung ändern bis ich mit dem
Schreiben des Bytes in meinen Puffer fertig bin. die Paketverarbeitung wäre
dann nur ein Sonderfall.


"Jochen Rapp" <j.rapp@addcom.de> schrieb im Newsbeitrag
news:3qddu6Fedb1pU1@individual.net...
Hallo,

lies doch noch mal in der FTDI-Doku nach, ob CTS ein Eingang oder Ausgang
ist. In der Doku gibt es sogar Beispiele zur Anschaltung von
Microcontrollern.

Freu Dich jedoch nicht zu früh.

RTS / CTS funktioniert nur träge. Wenn Du dem PC über RTS/CTS das
Versenden weiterer Daten verbieten willst, dann leert der FTDI232BM noch
seinen Puffer. Solltest allso auf Alle Fälle noch einen Eingangspuffer für
die Serielle Daten vorsehen.

Gruss Jochen
 
Hallo,

wenn Du CTS auf Stop setzt, dann können noch einige Datenbytes in den
Microcontroller geschoben werden.

Notfalls auf Software-Handshake ausweichen

Gruss Jochen

Nicolas Nickisch schrieb:

Also, lt. Doku ist CTS ein EINGANG, invertiert.
Entsprechend sollte ich damit den Fluss steuern können.

Wie ist das mit der Trägheit zu sehen ?

Ich übertrage die Daten paketweise - 16 Bytes.
Danach soll erstmal die Übertragung stoppen, bis die Verarbeitung
abgeschlossen ist.
Letztendlich ist die Überlegung für RTS/CTS gefallen, weil der Puffer, als
Ringpuffer konzipiert nicht so recht funktioniert hat.

Oder muss ich nach jedem Zeichen die Leitung ändern bis ich mit dem
Schreiben des Bytes in meinen Puffer fertig bin. die Paketverarbeitung wäre
dann nur ein Sonderfall.


"Jochen Rapp" <j.rapp@addcom.de> schrieb im Newsbeitrag
news:3qddu6Fedb1pU1@individual.net...

Hallo,

lies doch noch mal in der FTDI-Doku nach, ob CTS ein Eingang oder Ausgang
ist. In der Doku gibt es sogar Beispiele zur Anschaltung von
Microcontrollern.

Freu Dich jedoch nicht zu früh.

RTS / CTS funktioniert nur träge. Wenn Du dem PC über RTS/CTS das
Versenden weiterer Daten verbieten willst, dann leert der FTDI232BM noch
seinen Puffer. Solltest allso auf Alle Fälle noch einen Eingangspuffer für
die Serielle Daten vorsehen.

Gruss Jochen
 

Welcome to EDABoard.com

Sponsor

Back
Top