x

Dependents:   20180621_FT813

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers SystemClock.cpp Source File

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 //}