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...
Hast du es schon versuchst und bist du gescheitert, oder hast du überhaupt keinen Plan? Es gibt bei ST eine Library und Beispielcode.
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.
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...
1 | 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
Solche Funktionen findest du unter STM32F10x_StdPeriph_Lib bei http://www.st.com/mcu/familiesdocs-110.html#Firmware
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
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.
PS: Der Insider's Guide von Hitex könnte auch weiterhelfen: http://www.st.com/mcu/files/mcu/1221142709.pdf
Ich habe nun alles mögliche durchgeschaut und versucht... Doch leier krieg ich es nicht hin... Mein aktueller Code Sieht so aus:
1 | #include "stm32f10x.h" |
2 | |
3 | |
4 | //void RCC_Configuration(void);
|
5 | |
6 | void main(void) |
7 | {
|
8 | |
9 | |
10 | |
11 | while(1) |
12 | {
|
13 | RCC_APB2ENR_IOPBEN; |
14 | |
15 | GPIOB->ODR |= 0x00000100; |
16 | |
17 | }
|
18 | |
19 | }
|
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
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.