|
27 | 27 | * | 2- PLL_HSE_XTAL |
|
28 | 28 | * | (external 8 MHz xtal) |
|
29 | 29 | *-----------------------------------------------------------------------------
|
30 |
| - * SYSCLK(MHz) | 100 | 100 |
| 30 | + * SYSCLK(MHz) | 96 | 96 |
31 | 31 | *-----------------------------------------------------------------------------
|
32 |
| - * AHBCLK (MHz) | 100 | 100 |
| 32 | + * AHBCLK (MHz) | 96 | 96 |
33 | 33 | *-----------------------------------------------------------------------------
|
34 |
| - * APB1CLK (MHz) | 50 | 50 |
| 34 | + * APB1CLK (MHz) | 48 | 48 |
35 | 35 | *-----------------------------------------------------------------------------
|
36 |
| - * APB2CLK (MHz) | 100 | 100 |
| 36 | + * APB2CLK (MHz) | 96 | 96 |
37 | 37 | *-----------------------------------------------------------------------------
|
38 |
| - * USB capable (48 MHz precise clock) | NO | NO |
| 38 | + * USB capable (48 MHz precise clock) | YES | YES |
39 | 39 | *-----------------------------------------------------------------------------
|
40 | 40 | ******************************************************************************
|
41 | 41 | * @attention
|
@@ -611,22 +611,22 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
|
611 | 611 | RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
612 | 612 | RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
613 | 613 | //RCC_OscInitStruct.PLL.PLLM = 8; // VCO input clock = 1 MHz (8 MHz / 8)
|
614 |
| - //RCC_OscInitStruct.PLL.PLLN = 400; // VCO output clock = 400 MHz (1 MHz * 400) |
| 614 | + //RCC_OscInitStruct.PLL.PLLN = 384; // VCO output clock = 384 MHz (1 MHz * 384) |
615 | 615 | RCC_OscInitStruct.PLL.PLLM = 4; // VCO input clock = 2 MHz (8 MHz / 4)
|
616 |
| - RCC_OscInitStruct.PLL.PLLN = 200; // VCO output clock = 400 MHz (2 MHz * 200) |
617 |
| - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 100 MHz (400 MHz / 4) |
618 |
| - RCC_OscInitStruct.PLL.PLLQ = 9; // USB clock = 44.44 MHz (400 MHz / 9) --> Not good for USB |
| 616 | + RCC_OscInitStruct.PLL.PLLN = 192; // VCO output clock = 384 MHz (2 MHz * 192) |
| 617 | + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 96 MHz (384 MHz / 4) |
| 618 | + RCC_OscInitStruct.PLL.PLLQ = 8; // USB clock = 48 MHz (384 MHz / 8) --> Good for USB |
619 | 619 | if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
|
620 | 620 | {
|
621 | 621 | return 0; // FAIL
|
622 | 622 | }
|
623 | 623 |
|
624 | 624 | /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
|
625 | 625 | RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
|
626 |
| - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 100 MHz |
627 |
| - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 100 MHz |
628 |
| - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // 50 MHz |
629 |
| - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 100 MHz |
| 626 | + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 96 MHz |
| 627 | + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 96 MHz |
| 628 | + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // 48 MHz |
| 629 | + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 96 MHz |
630 | 630 | if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK)
|
631 | 631 | {
|
632 | 632 | return 0; // FAIL
|
@@ -665,22 +665,22 @@ uint8_t SetSysClock_PLL_HSI(void)
|
665 | 665 | RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
666 | 666 | RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
|
667 | 667 | //RCC_OscInitStruct.PLL.PLLM = 16; // VCO input clock = 1 MHz (16 MHz / 16)
|
668 |
| - //RCC_OscInitStruct.PLL.PLLN = 400; // VCO output clock = 400 MHz (1 MHz * 400) |
| 668 | + //RCC_OscInitStruct.PLL.PLLN = 384; // VCO output clock = 384 MHz (1 MHz * 384) |
669 | 669 | RCC_OscInitStruct.PLL.PLLM = 8; // VCO input clock = 2 MHz (16 MHz / 8)
|
670 |
| - RCC_OscInitStruct.PLL.PLLN = 200; // VCO output clock = 400 MHz (2 MHz * 200) |
671 |
| - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 100 MHz (400 MHz / 4) |
672 |
| - RCC_OscInitStruct.PLL.PLLQ = 9; // USB clock = 44.44 MHz (400 MHz / 9) --> Not good for USB |
| 670 | + RCC_OscInitStruct.PLL.PLLN = 192; // VCO output clock = 384 MHz (2 MHz * 192) |
| 671 | + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 96 MHz (384 MHz / 4) |
| 672 | + RCC_OscInitStruct.PLL.PLLQ = 8; // USB clock = 48 MHz (384 MHz / 8) --> Good for USB |
673 | 673 | if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
|
674 | 674 | {
|
675 | 675 | return 0; // FAIL
|
676 | 676 | }
|
677 | 677 |
|
678 | 678 | /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
|
679 | 679 | RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
|
680 |
| - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 100 MHz |
681 |
| - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 100 MHz |
682 |
| - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // 50 MHz |
683 |
| - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 100 MHz |
| 680 | + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 96 MHz |
| 681 | + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 96 MHz |
| 682 | + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // 48 MHz |
| 683 | + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 96 MHz |
684 | 684 | if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK)
|
685 | 685 | {
|
686 | 686 | return 0; // FAIL
|
|
0 commit comments