mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FTDI RT232R und Hyperterminal verursachen Dauerreset


Autor: P. D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

habe folgendes Problem:

Ein FTDI RT232R Chip der mit RxD und TxD direkt am µC hängt (LPC2119) 
und die DTR und RTS Leitung über npn Transistoren (und damit invertiert) 
an den µC Reset und ISP gehen.

ISP funktioniert auch wunderbar wenn ich mit Flash Magic die Software 
per USB Kabel reinbrenne.

Wenn ich aber mein Hyperterminal einschalte und meinem µC was schicken 
will geht das nicht.
Sobald ich im Hyperterminal den OK Button drücke (nachdem ich alle COM 
Port Einstellungen gemacht habe) geht meine RTS und DTR Leitung auf 
logisch 1 (nach der Invertierung logisch 0 an Reset und ISP).
Das heisst mein µC resetet und fährt erst wieder hoch wenn ich das Kabel 
abziehe oder Hyperterminal beende.
Ich will meinem µC aber während des Betriebs Befehle über Hyperterminal 
schicken. Die Invertierung der DTR/RTS Signale bringt auch nix, da er 
mir dann denn µC beim Einstecken des USB Kabels resetet und erst beim 
starten von Hyperterminal wieder hochfährt.

Ich will aber mein USB Kabel einstecken, Hyperterminal starten und mit 
meinem µC kommuniziern ohne das auch nur ein Mucks auf der DTR/RTS 
Leitung zu sehen ist.

Wenn ich die RTS/DTR Leitung nicht angeschlossen habe funktioniert das 
alles so wie ich es mir vorstelle. Allerdings brauche ich die DTR/RTS 
für die ISP Programierung.

Liegt es am Hyperterminal und ist nicht zu umgehen oder hab ich irgend 
etwas übersehen? Weder in Hyperterminal noch im MPROG um den FTDI Chip 
zu programmieren finde ich etwas.

Grüsse
Peter

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schnittstellenparameter in HT richtig einstellen. Hardwarehandshake aus.

Autor: P. D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich gemacht. Egal ob ich Xon/Xoff, Hardware oder Keine einstelle.
Ist jedesmal das selbe

Autor: Torben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst im internen EEPROM RTS / DTR invertieren. Schau Dir die EEprom 
Settings an, desweiteren findest du hier ein Thread zum anstecken das 
RTS / DTR toggelt.

Autor: P. D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, aber das mit dem toggeln der beiden Leitungen hab ich schon in 
den griff bekommen.

Und ich kann im EEPROM hin und her invertieren so lange ich will, es 
wird jedesmal ein Reset ausgelöst wenn ich mein Hyperterminal 
einschalte.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wirst du nicht verhindern können. Beim Öffnen der Schnittstelle 
werden die handshake-Leitungen gesetzt, egal, ob man das HW-Handshake 
benutzt oder nicht. Da musst du wohl einen Dip-Schalter oder sowas 
reinmachen.
Oder den Reset durch extern beim Programmstart gleich deaktivieren. So 
wird beim MSP430 vorgeschlagen, da kann man den Bootloader auch über die 
Handshake-Pins aktivieren.
Kannst ja dann per UART-Kommando den Reset wieder freigeben, wenn du den 
Bootloader benötigst.

Autor: P. D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das heisst also auch ich kann mir kein eigenes kleines Terminal 
Progrämmchen schreiben, denn Windows setzt beim öffnen der Schnittstelle 
immer sämtliche Handshake Leitungen?
Denn bis ich die rückgesetzt habe ist der µC schon lang geresetet.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das müsstest du mal probieren, ich weiß jetzt nicht mehr aus dem Kopf, 
ob Windows beim CreateFile schon die Schnittstelle öffnet und die 
Leitungen setzt, oder erst beim SetCommState....

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hab grade mal nachgemessen. Schon, wenn man per CreateFile die 
Schnittstelle öffnet, wird die RTS-Leitung auf Masse gezogen (FT232R im 
TTL232R-Kabel).
Da kannst du also nix machen.

Autor: P. D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, dann kann ich mir meine Arbeit hier ja sparen.

Tja dann muss wohl doch n Jumper rein.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder den Reset per Software beim Programmstart deaktivieren. Per 
UART-Kommando kannst du ja dann immer noch entweder direkt in den 
Bootloader springen oder den Reset wieder freigeben.

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.