x

Dependents:   20180621_FT813

Revision:
0:86b437ce0d0f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SystemClock.cpp	Mon Jul 23 12:25:39 2018 +0000
@@ -0,0 +1,74 @@
+// ST_401_84MHZ
+// https://os.mbed.com/users/dreschpe/code/ST_401_84MHZ/
+// If you want to use a different crystal or frequency : the STM32CubeMX tool is your friend :-)
+// use the STM32CubeMX Tool to calculate the register settings 
+// www.st.com/stm32cube‎ 
+// 
+
+//#include "stm32f4xx_hal.h"
+//#include "ST_F401_84MHZ.h"
+// 
+//F401_init84::F401_init84(unsigned int external){
+//    if(external == 1){
+//        SystemClock_Config_84MHz_external();
+//        }
+//    else {
+//        SystemClock_Config_84MHz_internal(); 
+//        }
+//    }
+//
+//void F401_init84::SystemClock_Config_84MHz_internal(void)
+//{
+//  HAL_RCC_DeInit();  // we have to reset the clock settings !
+//  RCC_ClkInitTypeDef RCC_ClkInitStruct;
+//  RCC_OscInitTypeDef RCC_OscInitStruct;
+//
+//  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;                // internal 16MHz RC 
+//  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+//  RCC_OscInitStruct.HSICalibrationValue = 6;
+//  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;                              // PLL on
+//  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
+//  RCC_OscInitStruct.PLL.PLLM = 16;                                          // setup PLL divider
+//  RCC_OscInitStruct.PLL.PLLN = 336;
+//  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4;
+//  RCC_OscInitStruct.PLL.PLLQ = 4;
+//  HAL_RCC_OscConfig(&RCC_OscInitStruct);                                    
+//
+//  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1;
+//  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
+//  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
+//  HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2);
+//  SystemCoreClockUpdate();                                                  // update SystemCoreClock var
+//}
+//
+//
+//// use a external 8 MHz crystal to generate the CPU clock
+//// You have to add X3 8MHz 
+//// C33,C34 18pF 0603
+//// R35,R37 0R 0603 or use wire
+//
+//
+//void F401_init84::SystemClock_Config_84MHz_external(void)
+//{
+//  HAL_RCC_DeInit();  // we have to reset the clock settings !
+//  RCC_ClkInitTypeDef RCC_ClkInitStruct;
+//  RCC_OscInitTypeDef RCC_OscInitStruct;
+//
+//  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE;
+//  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+//  RCC_OscInitStruct.LSIState = RCC_LSI_ON;
+//  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
+//  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
+//  RCC_OscInitStruct.PLL.PLLM = 8;
+//  RCC_OscInitStruct.PLL.PLLN = 336;
+//  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4;
+//  RCC_OscInitStruct.PLL.PLLQ = 4;
+//  HAL_RCC_OscConfig(&RCC_OscInitStruct);
+//
+//  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1;
+//  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
+//  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
+//  HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2);
+//  SystemCoreClockUpdate();                                                 // update SystemCoreClock var
+//
+//}