Ich arbeite mich gerade in den STM32F1 ein und habe dabei mit dem Verständnis von einigen Bits Probleme: - HSEBYP: wenn man dieses Bit setzt, dann wird der interne Oszillator übergangen und es wird HSE genommen, verstehe ich das richtig? Wie habe ich dann aber z.B. folgenden Satz zu verstehen: "The HSEBYP bit can be written only if the HSE oscillator is disabled"? Widerspricht sich das nicht irgendwie? Und sollte ich dieses Bit setzen, wenn ich einen externen Quarz verwende oder ist das üblicherweise überflüssig, wenn man sowieso den internen Takt deaktiviert? (S. 131, Ref. Man.) - PLLXTPRE: dieses aktiviert eigentlich einfach nur den PREDIV1 prescaler, oder? Wofür braucht man dieses Bit aber? Man kann ja auch einfach PREDIV1 auf 0000 setzen. (S. 134, Ref. Man.) Ich hoffe, das war es. Danke schon einmal für alle Antworten.
fugchen schrieb: > Ich arbeite mich gerade in den STM32F1 ein und habe dabei mit dem > Verständnis von einigen Bits Probleme: Du musst Dir angewöhnen, präzise zu schreiben. Es gibt mehrere F1 Controller von ST. Der F100 hat ein anderes Ref-Manual als z.B. der sehr verbreitete F103. Welchen nutzt Du? > - HSEBYP: wenn man dieses Bit setzt, dann wird der interne Oszillator > übergangen und es wird HSE genommen, verstehe ich das richtig? Wie habe > ich dann aber z.B. folgenden Satz zu verstehen: "The HSEBYP bit can be > written only if the HSE oscillator is disabled"? Widerspricht sich das > nicht irgendwie? Und sollte ich dieses Bit setzen, wenn ich einen > externen Quarz verwende oder ist das üblicherweise überflüssig, wenn man > sowieso den internen Takt deaktiviert? (S. 131, Ref. Man.) Häh? HSEBYP musst Du setzen, wenn Du einen externen Oszillator anschließt, das macht man z.B. wenn man den Takt für mehrere Einheiten in der Schaltung braucht. Wenn Du einen Quarz anschließt, darfst Du das Bit nicht setzen, da der externe Quarz dann mit der internen Logic die Taktschaltung bildet. Also beim Startup ganz normal den HSE aktivieren und die PLL, wenn die Frequenz höher als die des Quarzes sein soll. > - PLLXTPRE: dieses aktiviert eigentlich einfach nur den PREDIV1 > prescaler, oder? Wofür braucht man dieses Bit aber? Man kann ja auch > einfach PREDIV1 auf 0000 setzen. (S. 134, Ref. Man.) Das ist nur der Vorteiler für die PLL. Den brauchst Du, wenn Du andere Frequenzen als die des Quarzes brauchst. Kannst Du aber leicht ausrechnen. Oder Du schreibst kurz, welchen Controller Du nutzt, welchen Quarz und mit welcher Frequenz der Controller laufen soll.
Andreas Müller schrieb: > fugchen schrieb: >> Ich arbeite mich gerade in den STM32F1 ein und habe dabei mit dem >> Verständnis von einigen Bits Probleme: > > Du musst Dir angewöhnen, präzise zu schreiben. Es gibt mehrere F1 > Controller von ST. Der F100 hat ein anderes Ref-Manual als z.B. der sehr > verbreitete F103. > Welchen nutzt Du? Ich dachte ehrlich gesagt, dass die gleich wären, da man auch dieselben Header-Files benutzt. Es geht um einen STM32F103. >> - HSEBYP: wenn man dieses Bit setzt, dann wird der interne Oszillator >> übergangen und es wird HSE genommen, verstehe ich das richtig? Wie habe >> ich dann aber z.B. folgenden Satz zu verstehen: "The HSEBYP bit can be >> written only if the HSE oscillator is disabled"? Widerspricht sich das >> nicht irgendwie? Und sollte ich dieses Bit setzen, wenn ich einen >> externen Quarz verwende oder ist das üblicherweise überflüssig, wenn man >> sowieso den internen Takt deaktiviert? (S. 131, Ref. Man.) > > Häh? > HSEBYP musst Du setzen, wenn Du einen externen Oszillator anschließt, > das macht man z.B. wenn man den Takt für mehrere Einheiten in der > Schaltung braucht. > Wenn Du einen Quarz anschließt, darfst Du das Bit nicht setzen, da der > externe Quarz dann mit der internen Logic die Taktschaltung bildet. > Also beim Startup ganz normal den HSE aktivieren und die PLL, wenn die > Frequenz höher als die des Quarzes sein soll. Das heißt, dieses Bit ist nur für externe Oszillatoren und ansonsten vernachlässigbar, richtig? >> - PLLXTPRE: dieses aktiviert eigentlich einfach nur den PREDIV1 >> prescaler, oder? Wofür braucht man dieses Bit aber? Man kann ja auch >> einfach PREDIV1 auf 0000 setzen. (S. 134, Ref. Man.) > > Das ist nur der Vorteiler für die PLL. Den brauchst Du, wenn Du andere > Frequenzen als die des Quarzes brauchst. Kannst Du aber leicht > ausrechnen. > Oder Du schreibst kurz, welchen Controller Du nutzt, welchen Quarz und > mit welcher Frequenz der Controller laufen soll. Tatsächlich. Da gibt es in der Ref. Man. zwei Erklärungen, einmal auf S. 101 und auf S. 134. Ich habe nur die auf S. 134 gesehen und die fand ich ehrlich gesagt ziemlich verwirrend.
fugchen schrieb: > Das heißt, dieses Bit ist nur für externe Oszillatoren und ansonsten > vernachlässigbar, richtig? Präzise: "ansonsten nicht zu setzen"! > Tatsächlich. Da gibt es in der Ref. Man. zwei Erklärungen, einmal auf S. > 101 und auf S. 134. Ich habe nur die auf S. 134 gesehen und die fand ich > ehrlich gesagt ziemlich verwirrend. Schön zu sehen, dass hier mal jemand das Ref.-Manual durcharbeitet. Wird ja leider immer seltener. Also bleib dran und bei Fragen nicht scheuen, hier zu schreiben :)
> Es geht um einen STM32F103.
Immer noch nicht präzise.
Stocher mal bei den Medium-density auf S. 101.
Ansonsten sind die uC hierzu doch eh alle ähnlich aufgebaut. Irgendwo
ein Bit, was man einschalten kann, oder über Modi kodiert, aktiviert den
Verstärker. Auslassen spart Strom. Eventuell wird der OSC_OUT frei für
GPIO.
Das Ref.Man. beschreibt die ganze Familie. Auf S.40 beginnt eine "Übersicht" was für wen gedacht ist. F103 ist ein "Mediumdensity Device". Beim Lesen versuche ich immer mal wieder auf der Seitenüberschrift meinen Devicetype zu finden. fugchen schrieb: > Tatsächlich. Da gibt es in der Ref. Man. zwei Erklärungen, einmal auf S. > 101 und auf S. 134. Ich habe nur die auf S. 134 gesehen und die fand ich > ehrlich gesagt ziemlich verwirrend. S.134 ist für die "Communication Device"-Linie, die sich offenbar im Bereich Clock von den anderen unterscheidet.
> F103 ist ein "Mediumdensity Device".
Das ist pauschal falsch.
> da man auch dieselben Header-Files benutzt Die enthalten aber bedingte Abschnitte - abhängig vom Controller Typ. Schau sie Dir mal genauer an. > Beim Lesen versuche ich immer mal wieder auf der > Seitenüberschrift meinen Devicetype zu finden. Guck mal, das habe ich für die STM32F1 Serie zusammen gestellt: http://stefanfrings.de/stm32/index.html#models http://stefanfrings.de/stm32/index.html#doku Da hast du 1 Reference Manual aber insgesamt 13 Datenblätter, die sind alle irgendwo unterschiedlich.
Nico W. schrieb: >> F103 ist ein "Mediumdensity Device". > > Das ist pauschal falsch. Es ist aber sicher kein "Connectivity Device". Pauschal war meine Annahme, daß Leute wie der TO und ich an so ein Ding am einfachsten via BluePill kommen. Ich hatte nicht den Eindruck, daß der TO professionell mit einer nicht so typischen Variante arbeiten könnte. Immerhin weiß er ja nun, wen er zu den ganz tiefen Details fragen könnte.
:
Bearbeitet durch User
Carl D. schrieb: > Das Ref.Man. beschreibt die ganze Familie. Auf S.40 beginnt eine > "Übersicht" was für wen gedacht ist. F103 ist ein "Mediumdensity > Device". > Beim Lesen versuche ich immer mal wieder auf der Seitenüberschrift > meinen Devicetype zu finden. > > fugchen schrieb: >> Tatsächlich. Da gibt es in der Ref. Man. zwei Erklärungen, einmal auf S. >> 101 und auf S. 134. Ich habe nur die auf S. 134 gesehen und die fand ich >> ehrlich gesagt ziemlich verwirrend. > > S.134 ist für die "Communication Device"-Linie, die sich offenbar im > Bereich Clock von den anderen unterscheidet. Tatsächlich. Überschriften lesen hätte in diesem Fall wohl einiges erleichtert. Ansonsten scheint das aber größtenteils übereinzustimmen, da ich die ganze Zeit mit den RCC-Registern von der CL gearbeitet habe. Danke euch.
Und als Anmerkung noch: es geht (ganz präzise) um zwei STM32F103: einmal den STM32F103RB auf einem Nucleo-Board und einmal um den STM32F103C8T6 auf einem Bluepill-Board. Es stimmt, dass ich so etwas nicht so schnell freiwillig selbst designen und löten werde.
Es gibt ja auch noch andere Boards außer Bluepill und co. Ich habe mir vor einiger Zeit nen Eval-Board mit einem STM32F103ZET bestellt. Und das ist halt eines mit nem High-density. Das zeigt aber wieder, dass man einfach nur genauer beschreiben sollte um was es genau geht. Allgemeine Überschriften führen dann gerne für alle möglichen Annahmen. Hat der TO aber ja in seinem letzten Beitrag nun korrigiert.
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.