mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #14029 from arduino/can_h7_wrong_frequency
STM32H7: FDCAN: use PLL1Q frequency for calculationspull/14045/head
commit
643233ed16
|
@ -132,8 +132,10 @@ static void _can_init_freq_direct(can_t *obj, const can_pinmap_t *pinmap, int hz
|
||||||
int ntq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_FDCAN) / hz;
|
int ntq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_FDCAN) / hz;
|
||||||
#else
|
#else
|
||||||
// STM32H7 doesn't support yet HAL_RCCEx_GetPeriphCLKFreq for FDCAN
|
// STM32H7 doesn't support yet HAL_RCCEx_GetPeriphCLKFreq for FDCAN
|
||||||
// Internal ST ticket 92465
|
// We use PLL1.Q clock right now so get its frequency
|
||||||
int ntq = 10000000 / hz;
|
PLL1_ClocksTypeDef pll1_clocks;
|
||||||
|
HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
|
||||||
|
int ntq = pll1_clocks.PLL1_Q_Frequency / hz;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int nominalPrescaler = 1;
|
int nominalPrescaler = 1;
|
||||||
|
@ -287,8 +289,9 @@ int can_frequency(can_t *obj, int f)
|
||||||
int ntq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_FDCAN) / f;
|
int ntq = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_FDCAN) / f;
|
||||||
#else
|
#else
|
||||||
// STM32H7 doesn't support yet HAL_RCCEx_GetPeriphCLKFreq for FDCAN
|
// STM32H7 doesn't support yet HAL_RCCEx_GetPeriphCLKFreq for FDCAN
|
||||||
// Internal ST ticket 92465
|
PLL1_ClocksTypeDef pll1_clocks;
|
||||||
int ntq = 10000000 / f;
|
HAL_RCCEx_GetPLL1ClockFreq(&pll1_clocks);
|
||||||
|
int ntq = pll1_clocks.PLL1_Q_Frequency / f;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int nominalPrescaler = 1;
|
int nominalPrescaler = 1;
|
||||||
|
|
Loading…
Reference in New Issue