{"id":12673,"date":"2021-10-20T18:26:12","date_gmt":"2021-10-20T18:26:12","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=12673"},"modified":"2022-06-03T08:27:37","modified_gmt":"2022-06-03T08:27:37","slug":"stm32duino-clock-frequency","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=12673","title":{"rendered":"STM32duino Clock Frequency"},"content":{"rendered":"<ul>\n<li><code>#define F_CPU SystemCoreClock<\/code><\/li>\n<li><code>WEAK void SystemClock_Config(void)<\/code><\/li>\n<li><code>uint32_t HAL_RCC_GetSysClockFreq(void)<\/code><\/li>\n<li><code>uint32_t HAL_RCC_GetHCLKFreq(void)<\/code><\/li>\n<li><code>HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)<\/code><\/li>\n<li><code>HAL_RCC_GetClockConfig<\/code><\/li>\n<\/ul>\n<h3>STM32G474RE<\/h3>\n<table>\n<tr>\n<td><code>__attribute__((constructor(101))) void premain()<\/code><\/td>\n<td><code>.platformio\\packages\\framework-arduinoststm32\\cores\\arduino\\main.cpp<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>WEAK void init(void)<\/code><\/td>\n<td><code>.platformio\\packages\\framework-arduinoststm32\\cores\\arduino\\board.c<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>void hw_config_init(void)<\/code><\/td>\n<td><code>.platformio\\packages\\framework-arduinoststm32\\libraries\\SrcWrapper\\src\\stm32\\hw_config.c<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>WEAK void SystemClock_Config(void)<\/code><\/td>\n<td><code>.platformio\\packages\\framework-arduinoststm32\\variants\\STM32G4xx\\G473R(B-C-E)T_G474R(B-C-E)T_G483RET_G484RET\\variant_NUCLEO_G474RE.cpp<\/code><\/td>\n<\/tr>\n<p>  <!--\n  \n\n<tr>\n    \n\n<td><\/td>\n\n\n    \n\n<td><\/td>\n\n\n  <\/tr>\n\n\n  --><br \/>\n<\/table>\n<table>\n<tr>\n<td><a href=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/clock_tree.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/clock_tree-300x101.png\" alt=\"\" width=\"300\" height=\"101\" class=\"alignleft size-medium wp-image-13165\" srcset=\"https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/clock_tree-300x101.png 300w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/clock_tree-1024x343.png 1024w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/clock_tree-768x258.png 768w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/clock_tree-624x209.png 624w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/clock_tree.png 1360w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_Before.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_Before-300x89.png\" alt=\"\" width=\"300\" height=\"89\" class=\"alignleft size-medium wp-image-13162\" srcset=\"https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_Before-300x89.png 300w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_Before-1024x304.png 1024w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_Before-768x228.png 768w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_Before-624x185.png 624w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_Before.png 1448w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_After.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_After-300x227.png\" alt=\"\" width=\"300\" height=\"227\" class=\"alignleft size-medium wp-image-13163\" srcset=\"https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_After-300x227.png 300w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_After-768x580.png 768w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_After-624x471.png 624w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/SystemCoreClock_After.png 886w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/td>\n<\/tr>\n<\/table>\n<h3>HAL_InitTick()<\/h3>\n<table>\n<tr>\n<td><a href=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick_HAL_Init.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick_HAL_Init-257x300.png\" alt=\"\" width=\"257\" height=\"300\" class=\"alignleft size-medium wp-image-12683\" srcset=\"https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick_HAL_Init-257x300.png 257w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick_HAL_Init.png 274w\" sizes=\"auto, (max-width: 257px) 100vw, 257px\" \/><\/a><\/td>\n<td><a href=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick_HAL_RCC_OscConfig.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick_HAL_RCC_OscConfig-234x300.png\" alt=\"\" width=\"234\" height=\"300\" class=\"alignleft size-medium wp-image-12685\" srcset=\"https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick_HAL_RCC_OscConfig-234x300.png 234w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick_HAL_RCC_OscConfig.png 271w\" sizes=\"auto, (max-width: 234px) 100vw, 234px\" \/><\/a><\/td>\n<td><a href=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick-239x300.png\" alt=\"\" width=\"239\" height=\"300\" class=\"alignleft size-medium wp-image-12681\" srcset=\"https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick-239x300.png 239w, https:\/\/blog.bachi.net\/wp-content\/uploads\/2021\/10\/HAL_InitTick.png 277w\" sizes=\"auto, (max-width: 239px) 100vw, 239px\" \/><\/a><\/td>\n<\/tr>\n<\/table>\n<pre class=\"brush: cpp; title: framework-arduinoststm32\/system\/Drivers\/STM32G4xx_HAL_Driver\/Src\/stm32g4xx_hal.c; notranslate\" title=\"framework-arduinoststm32\/system\/Drivers\/STM32G4xx_HAL_Driver\/Src\/stm32g4xx_hal.c\">\r\n\/* using SysTick *\/\r\n__weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)\r\n{\r\n  &#x5B;...]\r\n}\r\n<\/pre>\n<pre class=\"brush: cpp; title: framework-arduinoststm32\/system\/Drivers\/STM32G4xx_HAL_Driver\/Src\/stm32g4xx_hal_timebase_tim_template.c; notranslate\" title=\"framework-arduinoststm32\/system\/Drivers\/STM32G4xx_HAL_Driver\/Src\/stm32g4xx_hal_timebase_tim_template.c\">\r\n\/* using TIM6 *\/\r\nHAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)\r\n{\r\n  &#x5B;...]\r\n}\r\n\r\n&#x5B;...]\r\n\r\nvoid TIM6_DAC_IRQHandler(void)\r\n{\r\n  HAL_TIM_IRQHandler(&amp;TimHandle);\r\n}\r\n<\/pre>\n<pre class=\"brush: cpp; title: framework-arduinoststm32\/system\/Drivers\/STM32G4xx_HAL_Driver\/Src\/stm32g4xx_hal_tim.c; notranslate\" title=\"framework-arduinoststm32\/system\/Drivers\/STM32G4xx_HAL_Driver\/Src\/stm32g4xx_hal_tim.c\">\r\n__weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#define F_CPU SystemCoreClock WEAK void SystemClock_Config(void) uint32_t HAL_RCC_GetSysClockFreq(void) uint32_t HAL_RCC_GetHCLKFreq(void) HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) HAL_RCC_GetClockConfig STM32G474RE __attribute__((constructor(101))) void premain() .platformio\\packages\\framework-arduinoststm32\\cores\\arduino\\main.cpp WEAK void init(void) .platformio\\packages\\framework-arduinoststm32\\cores\\arduino\\board.c void hw_config_init(void) .platformio\\packages\\framework-arduinoststm32\\libraries\\SrcWrapper\\src\\stm32\\hw_config.c WEAK void SystemClock_Config(void) .platformio\\packages\\framework-arduinoststm32\\variants\\STM32G4xx\\G473R(B-C-E)T_G474R(B-C-E)T_G483RET_G484RET\\variant_NUCLEO_G474RE.cpp HAL_InitTick() \/* using SysTick *\/ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { &#x5B;&#8230;] } \/* using TIM6 *\/ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { &#x5B;&#8230;] } &#x5B;&#8230;] void TIM6_DAC_IRQHandler(void) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12673","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/12673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12673"}],"version-history":[{"count":14,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/12673\/revisions"}],"predecessor-version":[{"id":13166,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/12673\/revisions\/13166"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12673"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}