ST意法半导体
直播中

你又知道了

12年用户 1104经验值
私信 关注
[问答]

STM32H735AGI6 RNG不工作的原因是什么?如何解决?

函数 MX_RNG_Init 失败
HAL_RNG_Init 返回:
while (HAL_IS_BIT_SET(hrng->Instance->CR, RNG_CR_CONDRST))
{
  如果 ((HAL_Gettick() - tickstart) > RNG_TIMEOUT_VALUE)
  {
   /* 新检查以避免抢占时错误的超时检测 */
   如果 (HAL_IS_BIT_SET(hrng->Instance->CR, RNG_CR_CONDRST))
   {
    hrng->状态= HAL_RNG_STATE_READY;
    hrng->ErrorCode = HAL_RNG_ERROR_TIMEOUT;
    返回 HAL_ERROR;
   }
  }
}







回帖(1)

汤敏树

2022-12-5 15:36:01
尝试其他例子..
STM32Cube_FW_H7_V1.10.0ProjectsSTM32H735G-DKExamplesRNGRNG_MultiRNGSrcstm32h7xx_hal_msp.c


  • /**
  •   * @brief RNG MSP Initialization
  •   *        This function configures the hardware resources used in this example:
  •   *           - Peripheral's clock enable
  •   * @param hrng: RNG handle pointer
  •   * @retval None
  •   */
  • void HAL_RNG_MspInit(RNG_HandleTypeDef *hrng)
  • {
  •   RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  •   RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};

  •   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48;
  •   RCC_OscInitStruct.PLL.PLLState= RCC_PLL_NONE;
  •   RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
  •   if (HAL_RCC_OscConfig(&RCC_OscInitStruct))
  •   {
  •     /* Initialization Error */
  •     while(1);
  •   }
  •   /*Select HSI48 output as RNG clock source */
  •   PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RNG;
  •   PeriphClkInitStruct.RngClockSelection = RCC_RNGCLKSOURCE_HSI48;
  •   if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct))
  •   {
  •     /* Initialization Error */
  •     while(1);
  •   }

  •   /* RNG Peripheral clock enable */
  •   __HAL_RCC_RNG_CLK_ENABLE();
  • }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分