Forum: Mikrocontroller und Digitale Elektronik STM32 Ratsuchend


von A. F. (fxln)


Angehängte Dateien:

Lesenswert?

Moin,

inspiriert von diesem Video https://youtu.be/l7rce6IQDWs, habe ich mir 
überlegt das, dass sicherlich auch mit einem Mikrocontroller 
funktionieren muss. Also habe ich mir einen Arduino Uno geschnappt und 
nach etwas probieren etwas hinbekommen. Da die Bluepill etwas schneller 
ist wollte ich das nun auch damit versuchen und sehen das ich vielleicht 
ein etwas besseres ergebnis hinbekomme, habe aber anscheinend etwas die 
Komplexität des Controllers unterschätzt.

Zu anfang wollte ich einen einfachen Timer aufsetzen, daran scheiterts 
aber schon. Anscheinend gibt es hier 2 Probleme, erstmal irgendwas am 
Programm ist faul und die Arbeitsumgebung ist denke ich nicht mehr die 
Richtige.

Da ich mit Arduino angefangen habe, benutze ich Sloeber als IDE und habe 
jetzt im Programm noch kleine Fetzen aus der Arduino.h die ich hierfür 
nicht mehr benötige. (setup, loop,...)
Macht es hierfür Sinn auf eine andere IDE umzusteigen, oder kann ich 
damit weiterarbeiten? Zusätzlich fehlen mir hier auch die Interrupt 
Vektoren, wo ich ratlos bin wie ich die hier einbinden könnte.

Zum Programm: Ich habe versucht Registernah zu arbeiten.
Zuerst konfiguriere ich den PLL als System Clock, und dann den Timer, 
welcher den Channel 2 Pin togglen soll wenn der Counter gleich dem 
Compare Value ist. Leider tut sich an dem Pin gar nichts.

Zusammenfassend:
-Gibt es eine lohnende Alternative IDE, welche meine jetzige Art und 
Weise zu Programmieren unterstützt, oder einfach weitermachen?
-Falls sich wer die Mühe machen will: Wieso gibt es keine 
Pegeländerungen am Pin?

Ich hoffe jemand ist gewillt mir zu helfen, danke im vorraus.

Mfg

von L. N. (derneumann)


Lesenswert?

ich bin mit platformio sehr glücklich. kannst du sowohl mit visual 
studio code (ist open source und hat nichts mit dem normalen visual 
studio.net gemeinsam, abgesehen vom namen) oder atom nutzen.

vs code ist aber präferiert, soviel ich weiß.
python 3.0 wird glaub ich seit der neuesten platformio version 
unterstützt, davor brauchst du python 2.7. wird aber glaub ich alles 
automatisch mitinstalliert, probleme gibts u.u. nur, wenn du schon eine 
andere python version drauf hast.

von Pd G. (pdg)


Lesenswert?

A. F. schrieb:

> -Gibt es eine lohnende Alternative IDE,

Klar gibt es die. Den ganzen Arduino-Kram habe ich aber nach kurzem 
Testen schnell wieder entsorgt, weil es einfach zu oft auf die kleine 
8bit-Welt der AVRs festgenagelt ist.

In der Vergangenheit war Truestudio von Atollic eine Alternative. 
Mittlerweile wurden die von ST gekauft, danach wurde TS auf Version 9.3 
eingefroren. Aus Truestudio, dem bis dahin unterstützten SW4STM32 und 
einem frischen Eclipse wurde dann STM32CubeIDE zusammengebaut, mit dem 
man inzwischen sogar ganz gut arbeiten kann. Findet man gratis bei ST.

> welche meine jetzige Art und
> Weise zu Programmieren unterstützt, oder einfach weitermachen?

Die CubeIDE funzt auch ohne Bibliotheken mit Assembler oder mit eigenen 
Libs, falls man mit dem sehr registernahen LL- (Low Level) Ansatz nicht 
zufrieden ist. Die HAL ist hier im Forum recht oft umstritten, bietet 
jedoch durchaus Vorteile, z.B. ein Projekt zwischen den Familien schnell 
mal portieren zu können.

> Wieso gibt es keine
> Pegeländerungen am Pin?

Muss mir mal bei Gelegenheit deinen Code ansehen. Aber einfach aus der 
Hüfte: hattest du den Takt für die GPIOs eingeschaltet?

Nimm doch schon mal die CubeIDE, schau dir dazu ein Tutorial auf Utube 
an und erzeuge ein Miniprogramm, damit du siehst, was alles 
eingeschaltet wird.
Die Option zum Umschalten auf LL ist ein wenig versteckt in den Advanced 
Settungs des integrierten CubeMX - da, wo für die ausgewählten 
Peripherien HAL steht. Einfach drauf klicken.

von Bimbo. (Gast)


Lesenswert?

Pd G. schrieb:
> bietet
> jedoch durchaus Vorteile, z.B. ein Projekt zwischen den Familien schnell
> mal portieren zu können.

Dazu braucht man nicht "die" HAL von ST. Man kapselt die Hardware 
Elemente in seine eigene HAL, fertig.

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.