Отговори на тема  [ 2 мнения ] 
STM32 питанки 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение STM32 питанки
STM32 ... мъча да добавя хард RND поддръжка
обаче нещо май съм пропуснал ... дава ми HAL_RNG_Init() таймаут ?!?!

Код:
#include <stdio.h>
#include <stdlib.h>
#include "stm32wlxx_hal_def.h"
#include "stm32wlxx_hal_rng.h"
#include "stm32wlxx_hal_rcc.h"

void rng_init(void)
{
    __HAL_RCC_RNG_CLK_ENABLE();

#if 0
    RCC_PeriphCLKInitTypeDef PeriphClkInitStruct; //Select PLLQ output as RNG clock source
    PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RNG;
    PeriphClkInitStruct.RngClockSelection = RCC_RNGCLKSOURCE_PLL;
    HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct);
#endif

    RNG_HandleTypeDef h = {0};
    h.Instance = RNG;

    HAL_StatusTypeDef res = HAL_RNG_DeInit(&h);
    res = HAL_RNG_Init(&h); // <--------------- timeout
    if (HAL_OK == res)
    {
        uint32_t r;
        res = HAL_RNG_GenerateRandomNumber(&h, &r); // discard the first result
        if (HAL_OK == res)
        {
            res = HAL_RNG_GenerateRandomNumber(&h, &r);
            if (HAL_OK == res)
            {
                printf("RND: %lu\n", r);
                srand(r);
            }
            else
            {
                printf("[ERROR] HAL_RNG_GenerateRandomNumber(1) %d, %d\n", (int)res, (int)h.ErrorCode);
            }
        }
        else
        {
            printf("[ERROR] HAL_RNG_GenerateRandomNumber(2) %d, %d\n", (int)res, (int)h.ErrorCode);
        }
    }
    else
    {
        printf("[ERROR] HAL_RNG_Init( %d, %d )\n", (int)res, (int)h.ErrorCode); // <--------------- timeout
    }

    HAL_RNG_DeInit(&h);
    __HAL_RCC_RNG_CLK_DISABLE();
}


_________________
main[-1u]={1};


Пон Ное 01, 2021 9:05 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: STM32 питанки
намерих го
__HAL_RCC_RNG_CONFIG( селект клок );

_________________
main[-1u]={1};


Пон Ное 01, 2021 10:43 am
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 2 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни