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
Schnittstellenparameter in HT richtig einstellen. Hardwarehandshake aus.
Hab ich gemacht. Egal ob ich Xon/Xoff, Hardware oder Keine einstelle. Ist jedesmal das selbe
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.
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.
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.
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.
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....
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.
Danke, dann kann ich mir meine Arbeit hier ja sparen. Tja dann muss wohl doch n Jumper rein.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.