stm32l discovery LED 3 und 4 ansteuern

Gast #4008533
Lesenswert?
• ▲
▼
Hallo Leute,

ich habe da ein winziges Problem(chen). Ich möchte gerne auf dem STM32l 
Discovery die LEDs LD3 und LD4 ansteuern. Leider gelingt mir dies noch 
nicht. Ich habe versucht ein Tutorial im Internet zu finden. Leider 
arbeiten alle, welche ich gefunden habe, mit Controllern der F-Serie und 
nicht der L-Serie. Reference Manuals, Schematics und der gleichen habe 
ich alles.
Ich bin mir allerdings nicht sicher, ob meine Libery wirklich 
vollständig ist. Es wäre schön, wenn mir das mal jemand kurz erklären 
könnte.

Gruß,

gimpel
#4008899
Lesenswert?
• ▲
▼
gimpel schrieb:
> Ich bin mir allerdings nicht sicher, ob meine Libery wirklich
> vollständig ist.

Ich habe jetzt 2 Anläufe hinter mir (bei mir war es ein STM32F), beim 
ersten Mal bin ich den "offiziellen" Weg gegangen mir Cube Library und 
HAL-Treibern. Als jemand der aus der AVR-Ecke kommt war das der Horror.

Dann ein Abstecher nach Freescale, dort nur mit der einen(!) Headerdatei 
und den blanken Registern gearbeitet, nach einem Tag war ich genauso 
weit (GPIO, ADC, DAC, Timer, Interrupts). Übrigens am Rande: Das 
Freescale Datenblatt war exzellent: alles (wirklich alles) in einem 
Dokument, übersichtlich, keine Überraschungen, kein Kleingedrucktes. 
Alles straightforward aus dem Datenblatt heraus hinein in meinen Code 
und alles funktioniert sofort.

Dann der zweite Anlauf auf STM32, diesmal ebenfalls nur mit den nackten 
CMSIS-Headern und nichts als dem Reference Manual, genauso wie früher 
bei AVR. Viel besser als beim ersten Mal mit dem chaotischen 
HAL-Gestrüpp! Das Reference Manual von ST ist ebenfalls von guter 
Struktur, Übersichtlichkeit und Vollständigkeit (nicht ganz so schön wie 
Freescale und ich brauchte zusätzlich zum Reference Manual noch das 
Product Datasheet für das Pinout und das Alternate Functions mapping, 
also 2 Dokumente statt einem aber ansonsten ok), auch hier war kaum die 
Notwendigkeit zum Googlen, alles was im Reference Manual geschrieben 
steht funktioniert tatsächlich genau so auf Anhieb ohne 
Mißverständlichkeiten oder Lücken.

Moral von der Geschicht: Vergiss die Libraries, Du brauchst sie nicht. 
Was Du brauchst ist etwas Zeit und Geduld, aber das brauchst Du sowieso.
#4009198
Lesenswert?
• ▲
▼
> Ich möchte gerne auf dem STM32l Discovery die LEDs LD3 und LD4 ansteuern.
> Leider gelingt mir dies noch nicht.

Verzichte auf die Library und arbeite mit dem Reference Manual für die 
Bausteine (also dem 900-Seiten-Dokument, welches für die gesamte 
STM32L1xx-Familie gilt). Besorge dir die ST Library, aber nutze daraus 
nur die Headerfiles, die unbedingt nötig sind (core_cm3.h und 
stm32l1xx.h, sowie Abhängigkeiten). Das machst du nur, damit du 
vernünftig arbeiten kannst, sonst musst du dir die Registeradressen 
selbst raussuchen. ;-)

Ansonsten ist das LED-Einschalten ein Drei-Schritt-Prozess (alles andere 
ist nicht nötig, weil die Reset-Werte stimmen):
(a) Clock für GPIOB einschalten (RCC->AHBENR |= 0x02)
(b) Pins 6 und 7 auf Ausgänge schalten (GPIOB->MODER |= 0x5000)
(c) Pins 6 und 7 auf "high" setzen (GPIOB->ODR |= 0xC0)

Fertig.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.