Forum: Mikrocontroller und Digitale Elektronik STM32F1 USB VCP keine Ausgabe bei Arduino+Hterm


von Stefan F. (Gast)


Lesenswert?

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?

von Arduinoquäler (Gast)


Lesenswert?

Du hast das "/" beim zweiten [c] vergessen.

Typischer copy&paste Fehler.
Am besten erst mal den Vorschau-Knopf drücken.

von Stefan F. (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

Ich habe noch was herausgefunden: Mit Putty geht es auch.

von STK500-Besitzer (Gast)


Lesenswert?

Wie hast du denn Hterm konfiguriert bzw. deine serielle im Controller?
Hterm ist mMn ziemlich hardware-orientiert; erfordert also konkrete 
Parameter.

von Markus (Gast)


Lesenswert?

>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.

von Wolfgang (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

> 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
2
------------------------------------------------------------------------
3
Cube HAL     ok       ok      nicht geprüft             ok
4
Arduino      fail     ok      ok                        ok

von Peter K. (peterka2000)


Lesenswert?

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,

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

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.

von Markus (Gast)


Lesenswert?

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 ...

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.