Ich experimentiere mit der USB Schnittstelle auf diesem Board:
http://stefanfrings.de/stm32/STM32F103C8T6_board.png
Beim erste Versuch habe ich die Cube HAL verwendet. Meine "Hello World!"
Meldungen wurden via USB vom µC an den Laptop gesendet und von Hterm
angezeigt. Die Hardware ist also ganz sicher in Ordnung.
Nun möchte ich prinzipiell das Gleiche mit Arduino versuchen. Der Maple
Bootloader ist installiert, und ich habe diesen Sketch geflasht:
[c]
void setup()
{
pinMode(PC13, OUTPUT);
}
void loop()
{
digitalWrite(PC13, LOW);
Serial.println("Tick");
delay(500);
digitalWrite(PC13, HIGH);
Serial.println("Tack");
delay(500);
}
[c]
Die LED Blinkt wie erwartet und im seriellen Monitor von Arduino kann
die Textausgaben sehen. Aber wenn ich stattdessen Hterm verwende, sehe
ich nichts. Kein Text und keine Fehlermeldung. So also ob mein Sketch
schlichtweg keine Ausgaben machen würde.
Ich bin ganz sicher, dass ich in Hterm den richtigen COM Port geöffnet
habe, immerhin ist es der selbe, den ich auch in der Arduino eingestellt
habe. Und es ist momentan der einzige serielle Port auf meinem Laptop.
Es hat auch nichts gebracht, beide Programme zu beenden und dann nur
Hterm zu starten.
Hat jemand eine Idee, was hier schief laufen könnte bzw. wie ich das
Problem weiter eingrenzen kann?
Ja sehe ich auch gerade, allerdings kann ich es jetzt nicht mehr
korrigieren, weil du dazwischen gekommen bist. Du hast Recht, ich sollte
die Voransicht öfter benutzen.
>http://stefanfrings.de/stm32/STM32F103C8T6_board.png
Das BluePill-Board.
Es ist mir ja eine ganz besondere Freude, dass Du es mal mit der
Arduino-Version versuchst ;-)
Hast Du den Widerstand zwischen PC14 und 3V3 wie in der
Softwareinstallation beschrieben?
http://wiki.stm32duino.com/index.php?title=Blue_Pill
Ich weiß, das Argument das es bei den anderen Terminal-Programmen
funktioniert, spricht dagegen. Wir hatten vor kurzem auch mit dessen
USB-Schnittstelle experimentiert und ohne Widerstand ging es manchmal.
Stefan U. schrieb:> Hat jemand eine Idee, was hier schief laufen könnte bzw. wie ich das> Problem weiter eingrenzen kann?
Auch wenn es aus irgendwelchen Gründen anscheinend irgendetwas
funktioniert - du solltest die Schnittstelle wenigstens öffnen, bevor du
sie benutzt.
> Wie hast du denn Hterm konfiguriert bzw. deine serielle im Controller?
Siehe Anhang.
> Hterm ist mMn ziemlich hardware-orientiert; erfordert also konkrete> Parameter.
Durch den direkten Vergleich mit der Cube HAL Library bin ich ganz
sicher, dass sämtliche Einstellungen in HTerm (außer dem namen des
virtuellen COM Port) keine Rolle spielen. Ich habe dennoch
unterscheidliche Settings durchprobiert, jedoch ohne Erfolg.
> Es ist mir ja eine ganz besondere Freude, dass Du es mal mit der> Arduino-Version versuchst ;-)
Stell Dir vor, ich habe die IDE auch schon für den ESP8266 verwendet.
Und ich muss zugeben, dass ich das Framework mittlerweise gar nicht mehr
so schlimm finde. Nur der Editor, der ist schrecklich. Gottseidank muss
man ihn nicht benutzen.
> Hast Du den Widerstand zwischen PC14 und 3V3 wie in der> Softwareinstallation beschrieben?
Danke für den Hinweis, das wußte ich noch nicht.
Meiner Widerstand war 10k Ohm, ich habe gerade nochmal 1,8k Ohm parallel
geschaltet. Hat aber das Problem mit HTerm nicht gelöst.
> du solltest die Schnittstelle wenigstens öffnen,> bevor du sie benutzt.
Laut Doku ist das im Sketch nicht notwendig. Ich habe es auch mit
"Serial.begin(115200)" in der setup() Funktion versucht, jedoch ohne
Erfolg.
Nochmal zur Erinnerung: Putty und der Serial Monitor von Arduino
klappen. Auch cat /dev/ttyACM0 in einer virtuellen Linux Maschine
funktioniert.
Nur HTerm mag nicht funktionieren. HTerm geht aber, wenn ich statt
Arduino die Cube HAL Library benutzen.
1
Library HTerm putty Arduino Serial Monitor cat /devttyACM0
Hallo,
Probiere mal, DTR und/ oder RTS im Hterm zu aktivieren. Ich habe dunkel
im Hinterkopf, dass das u.U. benötigt wird - kann mich aber nicht mehr
erinnern, wann.
Einen Versuch ist es vielleicht wert.
Grüße,
Ha, das war's. Ich musste DTR einschalten. Vielen Dank, das war schon
wieder zu einfach für mich, um selbst drauf zu kommen.
Ich bin echt dankbar für eure Hilfe bezüglich meiner vielen STM32
Fragen. Ich schreibe auch alles brav auf und veröffentliche die
Erkenntnisse.
Noch ein kleiner praktischer Hinweis: Der USB-Stecker am BluePill ist
mechanisch relativ instabil angebracht. Einige Leute kleben den Stecker
deshalb extra mit Epoxy fest, damit er nicht nach ein paar mal Stecken
einen Wackelkontakt bekommt.
>Stell Dir vor, ich habe die IDE auch schon für den ESP8266 verwendet.>Und ich muss zugeben, dass ich das Framework mittlerweise gar nicht mehr>so schlimm finde. Nur der Editor, der ist schrecklich. Gottseidank muss>man ihn nicht benutzen
Einige STM32Duino Leute haben wohl ein Eclipse-Plugin benutzt, welches
sie kurz als "Sloeber" bezeichnen. Ich vermute mal, es ist das hier:
https://github.com/Sloeber/arduino-eclipse-plugin
Aber sie schreiben immer, dass es wohl Einiges an Aufwand ist, bis der
Debugger damit läuft ...