x
Embed:
(wiki syntax)
Show/hide line numbers
SystemClock.cpp
00001 // ST_401_84MHZ 00002 // https://os.mbed.com/users/dreschpe/code/ST_401_84MHZ/ 00003 // If you want to use a different crystal or frequency : the STM32CubeMX tool is your friend :-) 00004 // use the STM32CubeMX Tool to calculate the register settings 00005 // www.st.com/stm32cube 00006 // 00007 00008 //#include "stm32f4xx_hal.h" 00009 //#include "ST_F401_84MHZ.h" 00010 // 00011 //F401_init84::F401_init84(unsigned int external){ 00012 // if(external == 1){ 00013 // SystemClock_Config_84MHz_external(); 00014 // } 00015 // else { 00016 // SystemClock_Config_84MHz_internal(); 00017 // } 00018 // } 00019 // 00020 //void F401_init84::SystemClock_Config_84MHz_internal(void) 00021 //{ 00022 // HAL_RCC_DeInit(); // we have to reset the clock settings ! 00023 // RCC_ClkInitTypeDef RCC_ClkInitStruct; 00024 // RCC_OscInitTypeDef RCC_OscInitStruct; 00025 // 00026 // RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; // internal 16MHz RC 00027 // RCC_OscInitStruct.HSIState = RCC_HSI_ON; 00028 // RCC_OscInitStruct.HSICalibrationValue = 6; 00029 // RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; // PLL on 00030 // RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; 00031 // RCC_OscInitStruct.PLL.PLLM = 16; // setup PLL divider 00032 // RCC_OscInitStruct.PLL.PLLN = 336; 00033 // RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; 00034 // RCC_OscInitStruct.PLL.PLLQ = 4; 00035 // HAL_RCC_OscConfig(&RCC_OscInitStruct); 00036 // 00037 // RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1; 00038 // RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 00039 // RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; 00040 // HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2); 00041 // SystemCoreClockUpdate(); // update SystemCoreClock var 00042 //} 00043 // 00044 // 00045 //// use a external 8 MHz crystal to generate the CPU clock 00046 //// You have to add X3 8MHz 00047 //// C33,C34 18pF 0603 00048 //// R35,R37 0R 0603 or use wire 00049 // 00050 // 00051 //void F401_init84::SystemClock_Config_84MHz_external(void) 00052 //{ 00053 // HAL_RCC_DeInit(); // we have to reset the clock settings ! 00054 // RCC_ClkInitTypeDef RCC_ClkInitStruct; 00055 // RCC_OscInitTypeDef RCC_OscInitStruct; 00056 // 00057 // RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE; 00058 // RCC_OscInitStruct.HSEState = RCC_HSE_ON; 00059 // RCC_OscInitStruct.LSIState = RCC_LSI_ON; 00060 // RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 00061 // RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; 00062 // RCC_OscInitStruct.PLL.PLLM = 8; 00063 // RCC_OscInitStruct.PLL.PLLN = 336; 00064 // RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; 00065 // RCC_OscInitStruct.PLL.PLLQ = 4; 00066 // HAL_RCC_OscConfig(&RCC_OscInitStruct); 00067 // 00068 // RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1; 00069 // RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 00070 // RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; 00071 // HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2); 00072 // SystemCoreClockUpdate(); // update SystemCoreClock var 00073 // 00074 //}
Generated on Wed Jul 13 2022 20:20:10 by 1.7.2