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
Du bekommst bei ST doch den Quellcode für die Demo, da kannst Du das z.B. nachsehen.
Aus dem user manual des stm32l discovery: LEDs ... • User LD3: green LED is a user LED connected to the I/O PB7 of the STM32L152 MCU. • User LD4: blue LED is a user LED connected to the I/O PB6 of the STM32L152 MCU.
... und dazu ein Buch für die Programmiersprache Deiner Wahl ...
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.
> 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.