Hallo, ich bin vor einigen Wochen angefangen mich mit der Programmierung von Mikrocontrollern auseinander zu setzen. Dazu habe ich mir ein Atmel STK500 (Studentenrabatt) sowie einen USB to Serial Adapter (Delock 61460 mit FTDI Chip) besorgt, da mein PC keine Serielle Schnittstelle mehr besitzt. Bisher funktioniert auch alles soweit und ich wollte mir nun den UART anschauen. Da ich nur einen USB to Serial Adapter besitze, hatte ich das Kabel am STK500 einfach von RS232 CTRL nach RS232 SPARE umgesteckt, um mein Programm zu testen. Anschließend habe ich wieder zum RS232 CTRL gewechselt und wollte ein neues Programm flashen allerdings war keine Kommunikation möglich. Nach 10min Fehlersuche bin ich dann darauf gekommen einmal den USB to Serial Adapter einmal kurz vom PC zu trennen und siehe da, es läuft wieder. So ist das ganze natürlich kein vernünftiger Zustand und ich will nicht jedes mal hinter den PC kriechen um den Adapter kurz vom PC zu trennen. Auf lange Sicht komme ich wohl nicht darum herum mir einen zweiten Adapter zuzulegen falls ich häufiger was mit UART machen möchte. Allerdings frage ich mich wieso dieser Fehler auftritt und ob man dies irgendwie beheben kann. Hatte schonmal jemand ein ähnliches Problem?
Kann es sein, das beim Umstecken die USB Verbindung kurz unterbrochen war? Denn wenn ein offener USB-COM Port im geöffnetem Zustand ab- und wieder angesteckt wird ist der betreffende COM Port in der Tat unbenuzbar. Das ist allerdings ein längst bekanntes Problem (IMO nicht nur) in Windows.
Wie meinst du die USB Verbindung unterbrochen? Falls das Abstecken des Kabels eines USB-COM Ports im geöffneten Zustand Probleme macht kann man den Port irgendwie manuell schließen? Sorry falls das eine blöde Frage ist, aber mein Wissen über Serielle Schnittstellen ist recht gering. Gibt es dort überhaupt so etwas wie Verbindungsaufbau und Abbau?
Naja, wenn dein STK aus einem externen NT gespeist wird (am besten noch ein SNT), dann hat man da Kapazitäten gegen Phase vom Netz. Wenn jetzt das Kabel angesteckt wird verbindet es den Gnd vom STK mit Erde vom Netz (Der PC is über sein NT geerdet). Je nach Kopplungsgrad zwischen Schaltung und Netz ist ein ganzes Spektrum von Reaktionen möglich (bei galvanisch nicht trennenden (chinesen-)Netzteilen fliegt auch mal der Fi). Die fließenden Ausgleichströme dürfte den Gnd von dem RS232-Wandler genug verschieben um die USB-Kommunikation zu stören.
Also auf jeden Fall zweiten USB/RS232 Wandler zulegen?
es könnte schon reichen das STK500 zu erden Zudem sieht man wenn man es erdet auch ob das die Quelle der Probleme war, weil wenn es auch nach dem Erden noch spinnt ist das NT nicht schuld (dann würde ich mal schauen ob das Terminal nich irgendwo im Hintergrund vegetiert und den Progger aussperrt; die meisten geben den Port zwar frei wenn sie den Fokus verlieren, aber wer weis). Testweises Erden geht ganz einfach mit nem draht von der Abschirmung der RS232 Buchse am Stk an das Gehäuse des PCs.
So war das mit dem Erden gedacht ja? Es ändert jedenfalls nichts. Das Terminal hat den COM Port auf jeden Fall wieder frei gegeben sonst erhalte ich eine Fehlermeldung vom Atmel Studio, die genau das besagt. Mit Terminal beendet gibts dann einen Timeout. Wenn ich allerdings wieder zum RS232 Spare zurück wechsel werden mir wieder lustig die gesendeten Zeichen vom Mikrocontroller ausgegeben. Das verwendete Netzteil ist übrigens ein 12V Netzteil von einer alten Fritz Box. Ich glaube es ist auch noch kein Schaltnetzteil, da es noch etwas dicker und schwerer ist, als die neueren Netzteile die man sonst so kennt.
Ich habe grade nochmal etwas rumprobiert. Scheinbar hat nicht das Umstecken den USB/RS232 Wandler blockiert sondern allein das Herstellen einer Verbindung mit PuTTY. Ich habe mir dann die Einstellungen etwas genauer angesehen und testweise flow control von XON/XOFF auf None umgestellt und jetzt funktioniert alles.
okay, da bin ich dann mal überfragt ^^ Es wird vmtl. das beste sein einfach einen zweiten Adapter zu kaufen (kosten ja keine 10€ mehr heutzutage). PS: Wenn ich persöhnlich das Prob hätte würde ich vmtl. noch mit avrdude und logicanalyser im ganzen rumstochern. Das wär dann aber mehr aus wissenschaftlicher neugier wo das hängt als um das Problem zu lösen. Weil auch wenn man den Verursacher hat ist nicht gesgat, dass es einen sinnvollen Weg gibt ihn zu beseitigen (nicht bei <10€ für nen zweiten Adapter ^^).
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.