cancel
Showing results for 
Search instead for 
Did you mean: 

How to figure out my clock and pll clock ?

michaelmccartyeng
Associate II
Posted on November 11, 2014 at 04:41

Hello All, and Clive,

I've went back into the guts of my program after a long time being out of it, and I dont know how I can know the actual clock speed of my unit. I dont have a scope that does more than 1Mhz. I'm using a stm32f4 discovery board. 407VT I think. In project options I have Xtal 8Mhz In system_stm32f4xx.c I have

/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M 16
#define PLL_N 336
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P 2
/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */
#define PLL_Q 7
 uint32_t SystemCoreClock = 168000000; 

So I assume my board is running at 168Mhz. Then I have a clock signal for a camera that is setup like this

RCC_MCO1Config(RCC_MCO1Source_PLLCLK, RCC_MCO1Div_5);

So is my MC01 output running at 168/5 = 6Mhz ? Or is the PLL clock different from my system clock. Thanks as always for your time.
1 REPLY 1
t2399
Associate II
Posted on November 11, 2014 at 10:53

407VT ? Are you sure? On my STM32F4 - discovery is 407VGT6

I tryed configure your request in STM32Cube. Program says ''PLL must be betven 0.5MHz and 1 MHz. And 'solution':

void
SystemClock_Config(
void
)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
__PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_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_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 4;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1
|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5);
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_PLLCLK, RCC_MCODIV_5);
}

0690X0000060551QAA.png