Hallo Leute Ich habe hier einen stm32f107vc mit einem 25MHz Quarz. Nun wäre meine Frage in welcher ich die Einstellungen machen muss. Ich habe mir das so gedacht: //Erstmal HCLK, PCLK1, PCLK2 konfigurieren damit die richtig beziehen RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); RCC_PCLK2Config(RCC_HCLK_Div1); //pre-divs und PLL's aufsetzen RCC_PREDIV2Config(5); RCC_PLL2Config(14); RCC_PREDIV1Config(RCC_PREDIV1_Source_PLL2,8); RCC_PLLConfig(RCC_PLLSource_PREDIV1,8); //HSE einschalten RCC_HSEConfig(RCC_HSE_ON); //PLL einschalten RCC_PLLCmd(ENABLE); //Jetzt bin ich mir schon unsicher muss ich jetzt alle Flags überprüfen //also: while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {} //Muss ich hier noch alles andere abfragen? Also HSE PLL2 etc.? //Und noch PLL als Systick auswählen RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); Peripherals kann ich ja jetzt alle bedenkenlos irgendwann einschalten, PCLK und PCLK2 sind ja in Ordnung, oder? Ich wäre echt dankbar würdet ihr mir ein kurzes Feedback ob das stimmt. Ausserdem wären da noch zwei weitere Fragen: RCC_ADCCLKConfig() Wieso sehe ich diese Funktion in der Standard Peripheral Library und darf den ADC-Clock verändern. Klingt blöd, aber im STMCubeMX darf ich da nix ändern. Ich habe auch schon gelesen, dass es eine Takt-Begrenzung für den ADC gibt, da müsste man also schon irgendwie was machen müssen??? Noch zum Flash. Ich habe mal gehört, dass man je nach Sysclock da auch was mit dem FLash anpassen muss, wegen Waitstates etc. it da was? Mit besten Grüssen Felix
Moin, also wenn Du schon STM32CubeMX benutzt haben sich eigentlich alle Fragen erledigt. Auch der ADC Takt lässt sich ändern. Ist deine Version vielleicht antik? Aktuell in der 4.12.0 ist alles was Du suchst.
Ach so, die lock/unlock Funktion - rechte Maustaste - kennst Du?
Hallo, "danke" für die Antwort. hp-freund schrieb: > also wenn Du schon STM32CubeMX benutzt haben sich eigentlich alle Fragen > erledigt. Auch der ADC Takt lässt sich ändern. Ok, das erstaunt mich jetzt. Eigentlich wird man hier blöd angemacht wenn man farbige GUI's, Sprachen über Assembler benutzt oder sich gar an Arduino wagt und jetzt sagst du mir ich soll nen Codegenerator benutzen, ok... Hatte eigentlich schon mit der Antwort gerechnet. Das Problem ist, dass ich die HAL-Library nicht besonders mag und da jetzt auch nicht ewig wühlen wollte. Ich wollte gerne mal sehen wie mans richtig macht. Standard Peripheral Library ist ja quasi als würde man die Bits selber setzen. Es prahlen ja immer alle, dass sie auf Librarys scheissen und alle Regs selber setzen, dachte eig, dass das ne einfache Frage wäre.
PS: Das mit dem ADC habe ich herausgefunden. Der Cube blockt die EInstellung des ADC-Clocks, solange man keinen ADC im Projekt hat. Aber ich benutze den Cube eigentlich auch nur, da man dort alles ganz übersichtlich hat. Nicht um Code zu generieren.
Felix C. schrieb: > Nicht um Code zu generieren. Na ja, auch wenn Du es nicht verwenden willst, solltest Du doch mal einen Blick in die erstellte main.c, besonders in die Funktion SystemClock_Config() werfen. Ob bunte GUI oder nicht, wenn es sinnvoll ist, warum nicht.
Noch etwas: wenn Du den HAL_ Funktionen folgst, kannst Du diese auch "auflösen".
hp-freund schrieb: > wenn Du den HAL_ Funktionen folgst, kannst Du diese auch "auflösen". Danke für den Tipp, ich nehme mal an du benutzt auch Keil oder ähnliches, das geht ja nicht überall. Dennoch wäre ich dankbar für ne Rückmeldung bezüglich meines urspürnglichen Codes, weil ich die Hal-Funktionen nicht so übersichtlich finde und da jetzt nicht ewig suchen will.
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.