Hallo Leute! Ich baue mir gerade ein Tool zusammen mit dem ich meinen AVR über USB updaten kann. Dazu benutze ich einen FTDI um die USB Signale in Serielle Signale umzuwandeln. Damit ich über USB den RESET Pin ziehen kann habe ich den die DTR Leitung Zweck entfremdet. Mit dem C# Befehl
1 | SerialPort.DtrEnable = true; |
setze ich die Leitung auf LOW. So weit so gut. An sich funktioniert das auch am FTDI. So lange ich keinen AVR angeschlossen habe kann ich die Leitung wie gewünscht dauerhaft auf LOW oder HIGH schalten. Wenn ich jedoch zusätzlich meinen AVR anschließe verändert sich dieses Verhalten. Die DTR Leitung wird nur kurz auf LOW gezogen und geht danach direkt wieder auf high. Sehr komisch. Weiterhin habe ich noch die Beobachtung gemacht, wenn ich den Pin per Software auf LOW setze geht diese Leitung wie gesagt nur kurz auf LOW und dann wieder auf HiGH. Wenn ich danach die Leitung kurz hardwaremäßig auf LOW Brücke und wieder los lasse geht bleibt die DTR Leitung wie gewünscht auf LOW. Mit dieser Beobachtung würde ich eigentlich ein Treiberproblem ausschließen. Zur Schaltung: Ich habe jetzt gerade keinen Schaltplan aber es ist recht simpel. Die DTR Leitung ist direkt mit der RESET Leitung des AVR’s verbunden. Dazwischen hängt nur ein 10k Ohm Pull-Up Widerstand. Hat jemand eine Idee wie man sich dieses Verhalten erklären kann, bzw. hat jemand auch schon so ein Problem gehabt?