Forum: Mikrocontroller und Digitale Elektronik Starten Bootloader STM32F103 BluePill


von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Ich habe ein (für mich) etwas merkwürdiges Problem:

Ich möchte mir ein eigenes Dev-Board auf Basis des auf Ebay ( 
http://www.ebay.de/itm/STM32F103C8T6-STM32-Minimum-System-Development-Board-Module-For-Arduino-TE435-/272283008473?hash=item3f6554fdd9:g:GTAAAOSwMNxXazXE 
) massenhaft verkauften BluePill Boards STM32F103C8T6 entwickeln. Dieses 
Board möchte ich NICHT mittels ST-Link flashen, sondern ich möchten den 
integrierten seriellen Bootloaders des STM32 nutzen.

Nun ist das mit der BluePill eine ziemliche Frickelei: Boot0 Jumper auf 
1 stecken, Reset druecken, mittels STM32flash Programm flashen, Boot0 
Jumper zurück auf 0, Reset drücken.

Das wollte ich eleganter machen und dachte mir: Okay, das kann auch der 
billigste / kleinste ATtiny, ich drücke eine Taste und lasse diese 
Abfolge generieren, eine LED zeigt mir an, dass ich Bootloader aktiviert 
habe, Programm übertragen, Taste noch einmal drücken fertig.

Eigentlich ist das Programm für den Tiny ein Witz (so dachte ich 
jedenfalls), Pustekuchen !!!!

Die Abfolge mit dem Tiny zu generieren ist einfach und ich habe das auch 
schon oszilloskopiert.

Einzig es funktioniert nicht !!!!

Wenn der Tiny (wie im Schaltbildausschnitt) den BOOT0 aktiviert, und ich 
den Reset auf dem BluePill drücke, bin ich im Bootloadermodus und ich 
kann ein Programm flashen.

Lasse ich den Resetimpuls mittels des Tiny generieren funktioniert das 
nicht !

Dann habe ich mir das Schaltbild der Bluepill angesehen und 
festgestellt, es ist ein Kondensator am Resetpin gegen Masse 
verschaltet: 100nF !

Okay, dachte ich mir, den entfernst du... geht aber dennoch nicht. 
Resetimpuls bis zu einer Sekunde verlängert ... geht nicht.

Resetimpuls invertiert ausgegeben und über einen Schalttransistor (BC549 
und auch mittels eines FET BS170) versucht den Resetpin auf 0 zu ziehen 
...

geht nicht !!!!

Ich guck mir das auf dem Speicherscope an. Resetleitung wird satt auf 0 
und auch satt wieder auf 3,3V gesetzt. Geht aber dennoch nicht !

Kann sich das jemand erklären ?

Dann, mit dem "Spielen" fällt mir etwas auf (serieller Chip ist ein 
CH340G): Wenn ich ein serielles Programm geflasht habe, ein 
Terminalprogramm offen habe (DTR und RTS sind nicht aufgelegt) ... und 
ich aktiviere am Tiny den Bootloadermodus... ich beendet das 
Terminalprogramm.... dann ist die Bluepill tatsächlich im 
Bootloadermodus und ich kann den STM32 flashen.

Ansonsten (ohne Aufruf des Terminalprogramms) muß ich, nachdem der Tiny 
Boot0 auf 1 gelegt hat, den Reset von Hand über den Resettaster der 
Bluepill aktivieren.

Ich habe keine Ahnung, woran das liegt !

(in meinen Versuchen habe ich sogar versucht, den Reset mittels eines 
Relais zu aktivieren, das klappt dann witzigerweise).

Die Transistorstufe, die den Reset betätigt hat einen Basisvorwiderstand 
von 1 kOhm. Kollektor an Resetleitung, Emitter an Masse.

Bei Verwendung des FET's am Gate 1 MOhm gegen Masse, Drain an der 
Resetleitung, Source an Masse.

von Joe F. (easylife)


Lesenswert?

Sollte eigentlich gehen.

Ist denn auch GND verbunden?
Wenn ja: prüfe nochmal genau, ob du den Transistor richtig angeschlossen 
hast.

Den 100nF Kondensator würde ich nicht entfernen, er sorgt dafür, dass 
dein Modul mit etwas Verzögerung nach Anlegen der Versorgungsspannung 
aus dem Reset geholt wird.
Besser wäre ein ca. 47R Serienwiderstand in der Reset-Leitung (zwischen 
Collector des Transistors und RESET).

von Ralph S. (jjflash)


Lesenswert?

Joe F. schrieb:
> Ist denn auch GND verbunden?

ist es natürlich (sonst würde bspw. das Ding mittels Relais ja bspw. 
nicht funktionieren).

Joe F. schrieb:
> er sorgt dafür, dass
> dein Modul mit etwas Verzögerung nach Anlegen der Versorgungsspannung
> aus dem Reset geholt wird.

weiß ich !

Joe F. schrieb:
> Besser wäre ein ca. 47R Serienwiderstand

Bedämpfungswiderstände habe ich bis 100 Ohm versucht...

By the way:

Ich habe versucht mittels eigenem 3,3V Regler (LM317 und EXAKT 
eingestellt) und dem 3,3V Regler auf der BluePill das ganze zu 
betreiben. Gleicher Effekt.

Allerdings habe ich jetzt noch eine Merkwürdigkeit:

Wenn im STM32 ein Programm arbeitet, das sich NICHT der seriellen 
Schnittstelle bedient funktioniert es. Läuft ein Programm mit 
permanentem RS-232 Datentransfer dann habe ich den Eingangs 
beschriebenen Effekt.

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Ralph S. schrieb:
> Nun ist das mit der BluePill eine ziemliche Frickelei: Boot0 Jumper auf
> 1 stecken, Reset druecken, mittels STM32flash Programm flashen, Boot0
> Jumper zurück auf 0, Reset drücken.

 Wieso ?

 Einfach "Jump to the user program" checken - kein umstecken nötig.
 Wenn alles Fehlerfrei läuft, Jumper zurück, BluePill einbauen.
 Was soll daran umständlich sein ?

von eagle user (Gast)


Lesenswert?

Ist denn der RX-Pin des STM32 sauber auf 3.3V während Reset anliegt und 
kurz danach? Nicht, dass die Gegenseite beim permanenten Datenverkehr 
noch sendet (die bekommt den Reset ja nur indirekt mit).

Echte RS232-Pegel sind im Ruhezustand bei -5V oder noch schlimmer. Wenn 
davon etwas zum BOOT- oder NRST-Pin durchsickert könnte u.U. alles 
mögliche passieren.

So eine Reset/Boot-Mimik mit Transistor funktioniert hier jeden Tag 97 
mal. Und 3 mal nicht. Ich ignoriere das einfach ;)

von Ralph S. (jjflash)


Lesenswert?

RS232 wird nur mit dem CH340 realisiert. Einen Levelshifter auf +- 
Spannung ist nicht im System. Der 340 wird mit 3,3V betrieben. Wie es 
aussieht empfängt der STM32 "irgendwas" über den UART und deshalb dürfte 
keine Übertragung zustande. Im Moment bin ich dabei, das stm32flash zu 
modifizieren, dass vor Datenübertragung die Eingangspuffer leer sind.

von Lutz (Gast)


Lesenswert?

OT und daher leider keine konkrete Hilfe, aber: Ich bin jeden Tag, an 
dem ich meinen J-Link EDU benutze, froh, daß ich vor vielen Jahren diese 
50 oder 60 Euro ausgegeben habe.

von Ralph S. (jjflash)


Lesenswert?

Lutz schrieb:
> OT und daher leider keine konkrete Hilfe, aber: Ich bin jeden Tag, an
> dem ich meinen J-Link EDU benutze, froh, daß ich vor vielen Jahren diese
> 50 oder 60 Euro ausgegeben habe.

Das ist ja nicht das Problem, einen ST-Link v2 und einen Seeger hab ich 
ja auch. Es dreht sich darum ein sehr kostengünstiges zuverlässiges 
Board zu machen, bei dem ich unterm Strich nur ein USB Kabel einstecke. 
Hm, wie es ausschaut ist ein Nucleo Board nicht wirklich zu toppen.

von Andreas R. (daybyter)


Lesenswert?


von Ralph S. (jjflash)


Lesenswert?

Kenn ich !

STM32duino probagiert IMMER einen USB-Bootloader (genau den ich NICHT 
will) !

von eagle user (Gast)


Lesenswert?

Jeder wie er mag; ich mag den integrierten seriellen Bootloader, aber 
mit USB-Stecker, FT232R und Optokopplern zwischen USB und STM32. Der 
FT232R wird per USB vom PC versorgt, der STM32 von irgendwo. Es kann 
keine Probleme mit rückwärts einspeisen und Masseschleifen geben. Ein- 
und ausstecken im Betrieb stört weder den STM32 noch den PC.

Als totalen Luxus spendiere ich einen 4060, der aus einem seriellen 
"Break" die BOOT- und NRST-Signale generiert. Keine Jumper, kein 
Reset-Taster (und damit auch kaum größer).

Der integrierte Bootloader hat den großen Vorteil, dass das 
PC-Bootloader-Programm den Chip und das Flash nicht kennen muss. Es 
funktioniert sofort auch mit den neuesten Chips und altem Programm.

von W.S. (Gast)


Lesenswert?

Ralph S. schrieb:
> Das wollte ich eleganter machen...

O ja, sehe ich, sehr elegant.

Zunächst eines: wenn ich mich recht erinnere, dann sollten BOOT0 (Pin 
44) und BOOT1 (Pin 20) für den Normalbetrieb auf low liegen - also keine 
Hochzieher dran, sondern 10k..22k gegen Masse.

Dann verbindet man nicht nur RX1 und TX1 mit dem PC über ne Serielle mit 
TTL-Pegeln, sondern auch BOOT0 und Reset, beide letztere eventuell mit 
100 Ohm in der Leitung. Ich benutze einen simplen USB-Adapter mit nem 
FTDI drin.

Das war's. Mehr braucht man nicht, kein Relais, kein ATtiny.

Bei mir funktioniert das ganz prächtig und bei vielen anderen auch und 
es ist überhaupt keine Frickelei dabei. Stecker ran, dem Brennprogramm 
gesagt, daß es nach dem Brennen die App starten soll und gut ist es.

Also sollte das auch bei dir funktionieren.

W.S.

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

W.S. schrieb:
> Zunächst eines: wenn ich mich recht erinnere, dann sollten BOOT0 (Pin
> 44) und BOOT1 (Pin 20) für den Normalbetrieb auf low liegen - also keine
> Hochzieher dran, sondern 10k..22k gegen Masse.

... mit Widerständen habe ich das zuerst versucht gehabt. Als das nicht 
funktioniert hatte war ich sogar schon (in meiner Verzweiflung) soweit, 
das mit komplementären Transistoren zu machen (satt auf 1 und satt auf 0 
schalten)... hatte alles nichts genutzt. Mittlerweile jedoch weiß ich 
weshalb: es lag nicht an der Hardware !

W.S. schrieb:
> Dann verbindet man nicht nur RX1 und TX1 mit dem PC über ne Serielle mit
> TTL-Pegeln, sondern auch BOOT0 und Reset, beide letztere eventuell mit
> 100 Ohm in der Leitung.

Manchmal (aber nur manchmal) schüttle ich den Kopf, was alles angenommen 
wird. Würde ich das nicht wissen müsste ich die Finger von MCUs lassen. 
BTW: TTL-Pegel mag der F103 nicht (auch wenn der auf vielen Pins 5V 
tolerant ist), ich hab einen CH340G und den hardwareseitig auf 3,3V 
konfiguriert (weil der F030 TTL-Pegel nicht mag).

BTW: 100 Ohm als Bedämpfung finde ich schon etwas hoch, bei 3,3V Pegeln 
verwende ich zwischen 47 und 68 Ohm.

Es ging auch nicht darum den F103 grundsätzlich zum Laufen zu bekommen 
(denn das geht).

Es ging darum, ein ultrabilliges "Board" zu entwickeln, auf dem eine 
BluePill eingesetzt wird und mit dem ich den F103 Flashen kann, OHNE 
dass ich einen ST-Link benötige und OHNE dass ich auf dem Board (ausser 
vllt. Reset) betätigen muß und dennoch ein Upload klappt.

Der Fehler bei mir lag schlicht im Uploadprogramm und zwar immer dann, 
wenn auf dem F103 ein Programm läuft, das kontinuierlich Daten über die 
serielle Schnittstelle gesendet werden, auf dem der F103 auch geflasht 
werden soll.

Die Lösung war, das (Linux)Programm stm32flash dahingehend zu 
modifizieren, dass vor dem Setzen des Bootmodus einen Reset ausführt, 
den Reset hält, den Ausgangs- und Eingangspuffer der seriellen 
Schnittstelle (PC) leert, weil dann ein Zeichen, das NICHT vom 
Flashprogramm stammt als erstes gesendet werden würde. Erst danach wird 
der Bootloadermodus (mittels DTR) gesetzt.

Das klappt mittlerweile und ich konnte die Bluepill auf eine Platine mit 
R3 (Arduino) Formfaktor setzen, die sich jetzt ausschließelich über den 
CH340G flashen lässt und dieser vom Anwenderprogramm im STM auch als 
serielle Schnittstelle nutzen lässt.

Frei nach Arduino: USB-Kabel rein und loslegen !

Meine Auszubildenden arbeiten mittlerweile schon damit.

von Ralph S. (jjflash)


Lesenswert?

PS: im Moment bin ich am Routen der Schaltung, damit diese nicht wie 
hier der Prototyp gefädelt werden muss.

von W.S. (Gast)


Lesenswert?

Ralph S. schrieb:
> Die Lösung war, das (Linux)Programm stm32flash dahingehend zu
> modifizieren, dass vor dem Setzen des Bootmodus einen Reset ausführt,
> den Reset hält, den Ausgangs- und Eingangspuffer der seriellen
> Schnittstelle (PC) leert, weil dann ein Zeichen, das NICHT vom
> Flashprogramm stammt als erstes gesendet werden würde. Erst danach wird
> der Bootloadermodus (mittels DTR) gesetzt.

Ja sag mal! Also bei Windows wird dann, wenn man eine serielle 
Schnittstelle öffnet, selbige geleert dem Programm übergeben. Da kommen 
keine fremden Überhang-Daten von anderen Programmen hinein oder heraus. 
Ist das bei Linux denn ANDERS? Sprudeln da fremde Daten im Nachgang aus 
der Seriellen heraus, obwohl diese vom vorherigen Programm bereits 
geschlossen wurde? (Ohne dies könnte man sie ja garnicht selbst öffnen)

Und soweit ich das im RefMan gelesen habe, sind alle Pins der 
STM32F102xxx 5V-tolerant, es sei denn, man setzt sie in den 
Analog-Modus. Mit seriell-TTL meine ich natürlich, daß die Signale eben 
NICHT in +/- 12V und negativer Logik vom PC ankommen, sondern eben im 
TTL-Bereich, wo für hi schon 2.4V ausreichen. Bei meinem FTDI kommt als 
hi Pegel so etwa 3.3V heraus.

W.S.

von Christopher J. (christopher_j23)


Lesenswert?

W.S. schrieb:
> Ja sag mal! Also bei Windows wird dann, wenn man eine serielle
> Schnittstelle öffnet, selbige geleert dem Programm übergeben. Da kommen
> keine fremden Überhang-Daten von anderen Programmen hinein oder heraus.
> Ist das bei Linux denn ANDERS?

Bei Linux wird die serielle Schnittstelle erstmal wie eine Datei 
behandelt, die man öffnen, lesen, beschreiben und schließen kann. Das 
geht auch prinzipiell von mehreren Programmen gleichzeitig. Man kann 
eine Schnittstelle in der Konsole mit Minicom, Picocom oder was auch 
immer offen haben und gleichzeitig z.B. mit einem Pythonskript Daten auf 
diese Schnittstelle senden. Die gesendeten Daten tauchen dann im Minicom 
nicht auf, sehr wohl aber eine etwaige Antwort (wenn man sie nicht 
vorher mit dem Skript ausgelesen hat). Natürlich gibt es auch auf Seite 
des OS noch FIFOs um Lese- und Schreibzugriffe zu puffern. Die kann man 
manuell leeren, muss man aber nicht zwingend, weil für das leeren der 
FIFOs entsprechende Timeouts konfiguriert sind die nach dem schließen 
der Schnittstelle (d.h. der Datei) dafūr sorgen das die geleert werden.

W.S. schrieb:
> Sprudeln da fremde Daten im Nachgang aus der Seriellen heraus, obwohl
> diese vom vorherigen Programm bereits geschlossen wurde?

Ich vermute mal stark, dass die aus dem CH340 heraussprudeln, da der ja 
auch noch entsprechende Puffer hat. Natürlich sollten diese bei 
schließen der Schnittstelle auch geleert werden aber ob das tatsächlich 
der Fall ist würde ich hier mal bezweifeln. Das mag durchaus am Treiber 
liegen und es mag durchaus sein, dass der die Puffer nur leert wenn man 
es explizit fordert. Besonders viel Liebe hat der CH340 bisher von den 
Kernelentwicklern nicht erfahren, wobei das durchaus daran liegen 
könnte, dass es sich laut den BSD-Jungs um "the worst usb serial chip in 
the world" handelt. Dafür ist der halt billig. Habe mit dem CH340 auch 
schon so meine leidigen Erfahrungen gemacht.

W.S. schrieb:
> Und soweit ich das im RefMan gelesen habe, sind alle Pins der
> STM32F102xxx 5V-tolerant, es sei denn, man setzt sie in den
> Analog-Modus.

Soweit ich das verstanden habe sind die Pins, die die Möglichkeit eines 
Analogeingangs haben auch dann nicht (offiziell) 5V tolerant, selbst 
wenn sie als digitale Eingänge konfiguriert sind. Kann natürlich sein 
das sie es trotzdem verkraften.

von eagle user (Gast)


Lesenswert?

Christopher J. schrieb:

> W.S. schrieb:
>> Und soweit ich das im RefMan gelesen habe, sind alle Pins der
>> STM32F102xxx 5V-tolerant, es sei denn, man setzt sie in den
>> Analog-Modus.
>
> Soweit ich das verstanden habe sind die Pins, die die Möglichkeit eines
> Analogeingangs haben auch dann nicht (offiziell) 5V tolerant, selbst
> wenn sie als digitale Eingänge konfiguriert sind. Kann natürlich sein
> das sie es trotzdem verkraften.

Ihr habt alle Recht, jeder für seinen Chip :) Der STM32F205 war auch so, 
wie W.S. schreibt. Der hatte auch immerhin noch 2 Pins mit Klemmdioden 
nach +3.3V. Aber es ist von Chip zu Chip verschieden und wird immer 
schlechter. Bei neueren Chips (z.B. L433, L476) gilt für alle Pins:
1
Injected current: -5/+0 mA
und
1
Input voltage on FT_xxx pins: min (VDD, VDDA, VDDUSB, VLCD) + 4.0V
Wenn also irgendeine Spannung fehlt, sind es offiziell nur 4.0 Volt, an 
allen Pins.

Evt. findet man bei bestimmten Chips noch ein oder zwei Pins, die mehr 
vertragen, aber pauschal merkt man sich: STM32 -- nix 5 Volt.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

W.S. schrieb:
> Und soweit ich das im RefMan gelesen habe, sind alle Pins der
> STM32F102xxx 5V-tolerant, es sei denn, man setzt sie in den

 Es ist ein F103 und bei dem sind nicht alle Pins 5V tolerant.

von W.S. (Gast)


Lesenswert?

Christopher J. schrieb:
> Bei Linux wird die serielle Schnittstelle erstmal wie eine Datei
> behandelt, die man öffnen, lesen, beschreiben und schließen kann. Das
> geht auch prinzipiell von mehreren Programmen gleichzeitig. Man kann
> eine Schnittstelle in der Konsole mit Minicom, Picocom oder was auch
> immer offen haben und gleichzeitig z.B. mit einem Pythonskript Daten auf
> diese Schnittstelle senden.

Ach herrje! Man hat eine serielle Schnittstelle NICHT modal?

Bei Windows werden Dinge wie serielle Schnittstellen auch erstmal wie 
Dateien behandelt, aber man hat selbige modal, solange man sie nicht 
schließt. Da kommt einem keiner dazwischen. Das wäre ja auch ne 
Katastrophe. Stell dir mal vor, ein Programm benötigt HW-Handshake und 
ein anderes nicht und beide wollen auf die Serielle zugreifen. Und wie 
würde die Gegenseite die verschiedenen Datenströme auseinander halten? 
Man kann ja nicht wissen, was für ein grünes Marsmännchen auf der 
anderen Seite der Seriellen sitzt und wie es das Kauderwelsch versteht.

W.S.

von guest (Gast)


Lesenswert?

W.S. schrieb:
> Bei Windows werden Dinge wie serielle Schnittstellen auch erstmal wie
> Dateien behandelt, aber man hat selbige modal, solange man sie nicht
> schließt.

Nö! Wenn die Programme das unterstützen, können sie sich auch unter 
Windows eine Schnittstelle teilen.

von guest (Gast)


Lesenswert?

Achso, und auch unter Linux kann man selbstverständlich eine 
Schnittstelle so öffnen, daß man sie exklusiv hat.

von Jim M. (turboj)


Lesenswert?

W.S. schrieb:
> Ach herrje! Man hat eine serielle Schnittstelle NICHT modal?
>
> Bei Windows werden Dinge wie serielle Schnittstellen auch erstmal wie
> Dateien behandelt,

Und die sind nur deswegen nicht modal, weil bei Windoof per default nix 
shared geöffnet wird sondern man die Share Flags beim Öffnen explizit 
angeben muss. Wenn man das wirklich braucht, kann man IMHO auch im 
Windoof COM-Ports "sharen".

Genauso kann man im Linux Dateien sperren (man fcntl). Macht da aber 
kaum jemand bei seriellen Schnittstellen.

von Christopher J. (christopher_j23)


Lesenswert?

W.S. schrieb:
> Da kommt einem keiner dazwischen. Das wäre ja auch ne
> Katastrophe. Stell dir mal vor, ein Programm benötigt HW-Handshake und
> ein anderes nicht und beide wollen auf die Serielle zugreifen. Und wie
> würde die Gegenseite die verschiedenen Datenströme auseinander halten?

Naja, jede Schnittstelle ist eine eigene Datei. Was man damit für einen 
Unsinn treibt bleibt einem selber überlassen.

guest schrieb:
> Achso, und auch unter Linux kann man selbstverständlich eine
> Schnittstelle so öffnen, daß man sie exklusiv hat.

Es ist natürlich möglich zu schauen ob die Schnittstelle bereits von 
einem anderen Programm benutzt wird (Lock-File). Das kann man 
ignorieren, auch wenn man das nicht unbedingt sollte aber manchmal kann 
es auch praktisch sein, von mehreren Prozessen auf ein und dieselbe 
Schnittstelle zugreifen zu können. Ich weiß nicht ob man sich exklusiven 
Zugriff erzwingen kann (von Dateizugriffsrechten mal abgesehen) aber das 
ist ja auch eigentlich nicht das Thema.

Wie ich schon vorher geschrieben habe liegt das Problem meiner Meinung 
nach nicht daran, wie serielle Schnittstellen im Allgemeinen vom Linux 
Kernel behandelt werden, sondern am CH340 bzw. dessen Treiber. Der TO 
wird es aber wahrscheinlich noch am ehesten Wissen.

Edit:
Jim M. schrieb:
> Genauso kann man im Linux Dateien sperren (man fcntl). Macht da aber
> kaum jemand bei seriellen Schnittstellen.

Wusste ich auch noch nicht aber macht irgendwie Sinn, das es geht.

: Bearbeitet durch User
von guest (Gast)


Lesenswert?

Christopher J. schrieb:
> Jim M. schrieb:
>> Genauso kann man im Linux Dateien sperren (man fcntl). Macht da aber
>> kaum jemand bei seriellen Schnittstellen.
>
> Wusste ich auch noch nicht aber macht irgendwie Sinn, das es geht.

flock() und lockf() gibt (oder gab? bin da grad nicht ganz auf dem 
aktuellen Stand) es auch noch. Und irgendeine mount Option die damit 
zusammenhängt.

von Ralph S. (jjflash)


Lesenswert?

Christopher J. schrieb:
> Der TO wird es aber wahrscheinlich noch am ehesten Wissen.

... es lag am CH340.... damit der unter Linux läuft war vorher ja auch 
ein Patch notwendig, weil er beim Treiber einen Bug mit Parity hat. Wie 
gesagt hab ich eine Lösung gefunden, ich kann sehr gut damit leben, dass 
ich die Puffer der seriellen Schnittstelle vor einem Upload leere....

Im übrigen trat dieses Priblem mit einem FTDI Chip nicht auf.... aber 
ich kann zum einen einen FTDI kaum verarbeiten und zum anderen kostet 
der deutluch mehr. Ansonsten hab ich mit dem CH340 kein Problem

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
Noch kein Account? Hier anmelden.