mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 CrossWorks LED Einschalten


Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen...

Ich habe mir ein STM32 Board zugelegt mit einem STM32F103 darauf

Ich verwende derzeit CrossWorks in der 30Tage test version... bin bisher 
sehr zufrieden mit der umgebung... Den JTAGKey hat die IDE problemlos 
erkannt....

Nun habe ich jedoch eine grundsätzliche fraage... wie kann ich eine 
einzelne LED welche an GPIOB hängt ein bzw. ausschalten?

Vielen Dank schonmal...

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du es schon versuchst und bist du gescheitert, oder hast du 
überhaupt keinen Plan?

Es gibt bei ST eine Library und Beispielcode.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einmal posten sollte reichen, zweimal nervt.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eines gilt es bei den STM32 generell zu beachten: Von Haus aus sind die 
meisten Peripheriemodule ohne Takt. Den gilt es erst einmal 
einzuschalten (RCC), sonst rührt sich nichts.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen...

Es war keine absicht zweimal zu posten... wollte beim anderen Post 
lediglich darauf hinweisen das ich das board erhalten habe...

Ich habe es bereits sehr intensiv versucht...

In einem Beispielprogramm habe ich folgenden Code entdeckt...
 GPIO_WriteBit(GPIOB,GPIO_Pin_8  ,Bit_SET); 

Jedoch meckert Crossworks gleich das er GPIO_WriteBit nicht kennt...
Ich habe einfach bei Crossworks Datei -> NeuesProjekt -> Generic -> 
Generic STM32F10X -> An Executable for STMicroelectronics STM32F10x 
ausgewählt und die standard parameter belassen....

Muss ich noch etwas bestimmtes Includen?

Kennt jemand ein gutes Tutorial oder sonstige seiten wo etwas über RCC 
etc.. Beschrieben ist und wie man diesen Einstellt?

Besten Dank schonmal

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solche Funktionen findest du unter STM32F10x_StdPeriph_Lib bei
http://www.st.com/mcu/familiesdocs-110.html#Firmware

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank...

Da git es ja nun viele header Dateien welche man includen könnte...
Damit ichs nicht ausprobieren muss und die chance zu Scheitern wieder 
sehr gross ist, frage ich einfach mal...

Welche müsste oder muss ich den includen damits sicher klappt?

Und wie versorge ich die einzelnen Peripherie teile mit einem Takt?

Besten Dank

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du statt selber zu lesen jede einzelne einfache Frage zu einem 
STM32 per Forum beantwortet kriegen willst, dann dauert das Monate und 
du verschleisst etliche entnervt abspringende Leute.

1) Doku vom STM32 lesen, und zwar die Reference.
2) Doku/Helpfile von der Firmware-Lib lesen.
3) Vorhandene Demos mit (1) und (2) korrelieren und verstehen.

So funktioniert das in der Branche nun einmal.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok Vielen Dank

ich werde mein bestes tun :)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: Der Insider's Guide von Hitex könnte auch weiterhelfen:
http://www.st.com/mcu/files/mcu/1221142709.pdf

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe nun alles mögliche durchgeschaut und versucht...

Doch leier krieg ich es nicht hin...

Mein aktueller Code Sieht so aus:
#include "stm32f10x.h"


//void RCC_Configuration(void);

void main(void)
{
  
  
  
  while(1)
  {
    RCC_APB2ENR_IOPBEN;

    GPIOB->ODR |= 0x00000100;

  }
   
}

In diversen beispielen steht z.b. #inlucde stm32f103x_EVAL.h etc...
doch ich möchte keine vorgefertigten Funktionen zum einstellen der 
Parameter nutzen... doch selbst diese beispiele funktionieren nicht da 
immer irgendwelche daten fehlen...

Ich habe das reference dokument mal angeschaut und mich eingelesen...
Ich weiss nun das man für jeden Peripherie teil den clock eigens ein bzw 
ausschalten kann. auch weiss ich das ich zuerst mal definieren muss, 
woher der clock den kommt ob pll oder nicht etc...

Doch wass ich wieder nirgends gesehen habe ist wie ich einen Wert in ein 
Register schreiben kann... Den offenbar kann man beim STM32 ja nicht 
einfach wie bei den AVR's zb RCC_APB2ENR = 0x00000008 Schreiben und 
damit hat sichs... Man muss ja noch die Registe adresse angeben oder?

Also ich bin ein bisschen ratlos... Könnte mir niemand ein ganz simplen 
beispiel code posten wo das wichtigste konfiguriert wird... Wenn ich ma 
ein funktionierendes Beispiel habe kann ich leicht selbst 
weiterfahren...


Vielen Dank schonmal

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.