Hallo Kann ich in der Arduino IDE mit stm32duino Core ermitteln, welche Clock Source für HSC und LSC aktiv ist und welcher Takt? So ganz werde ich aus der KAL-Doku nicht schlau.
Jürgen schrieb: > Hallo > Kann ich in der Arduino IDE mit stm32duino Core ermitteln, welche Clock > Source für HSC und LSC aktiv ist und welcher Takt? So ganz werde ich aus > der KAL-Doku nicht schlau. Das kannst du aus den relevanten Registern auslesen. Die Register sind im Reference Manual beschrieben. https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32Bit-mcus-stmicroelectronics.pdf Allerdings wundert mich, dass du diese Einstellung "ermitteln" willst, denn sie wird doch von deinem eigenen Programm eingestellt. Du musst doch wissen was du eingestellt hast. Was ist KAL?
:
Bearbeitet durch User
Nemopuk schrieb: > Allerdings wundert mich, dass du diese Einstellung "ermitteln" willst, > denn sie wird doch von deinem eigenen Programm eingestellt. Er hat vermutlich ein Arduino Projekt. Da wird das vermutlich für ihn übernommen und er will nun wissen was da eingestellt wird. Jürgen schrieb: > welche Clock Source für HSC und LSC aktiv ist und welcher Takt Bluepill ist ein F103. Also hätte ich vermutet da: https://github.com/stm32duino/Arduino_Core_STM32/blob/main/system/STM32F1xx/system_stm32f1xx.c
Nemopuk schrieb: > Was ist KAL? Kernel Abstraction Layer? N. M. schrieb: > Bluepill ist ein F103. > Also hätte ich vermutet da: https://github.com/stm32duino/Arduino_Core_STM32/blob/main/variants/STM32F1xx/F103C4T_F103C6(T-U)/variant_BLUEPILL_F103C6.cpp#L116 PLLCLK 72 MHz, LSI 40 kHz
:
Bearbeitet durch User
N. M. schrieb: > Er hat vermutlich ein Arduino Projekt. Da wird das vermutlich für ihn > übernommen und er will nun wissen was da eingestellt wird. > Genau. Und ich bin verwirrt, weil ich andere Ergebnisse bekomme.
1 | RCC_ClkInitTypeDef RCC_ClkInitStruct; |
2 | HAL_result = HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0); |
3 | Serial.println(RCC_ClkInitStruct.SYSCLKSource); |
liefert "1", was wenn ich mich zu https://github.com/stm32duino/Arduino_Core_STM32/blob/main/system/Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h durchhangle und weiter zu rc.h: RCC_CFGR_SW_HSE für den System Clock Multiplexer bedeutet. Damit sind aber keine 72MHz möglich, wie bei HAL_RCC_GetSysClockFreq() oder F_CPU ausgegeben wird. BTW: Die Bluepill nutzt einen STM32F103C8, was dann wohl https://github.com/stm32duino/Arduino_Core_STM32/blob/main/variants/STM32F1xx/F103C8T_F103CB(T-U)/variant_PILL_F103Cx.cpp bedeutet - aber gleiche Verwirrung
:
Bearbeitet durch User
HAL_RCC_ClockConfig() liest nur die Felder die du gesetzt hast. Dein RCC_ClkInitStruct ist leer.
:
Bearbeitet durch User
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.