Страница 1 из 1

stm32 random number generator

Добавлено: Пн янв 04, 2016 18:48:22
O'NeiLL
Ребят а существует официальная библиотека для генерации случайных чисел для контроллера stm32f100x (плата stm32vldiscovery)?
Просто колхозить не особо охото с аналоговыми ножками. Пролете свет на эту деталь?

Re: stm32 random number generator

Добавлено: Вт янв 05, 2016 21:28:07
pavell
O'NeiLL писал(а):для генерации случайных чисел для контроллера stm32f100x
Самый простой способ использовать RTC в качестве источника энтропии. Например так:
Спойлер

Код: Выделить всё

void rtc_ini() {
  RCC->CSR |= RCC_CSR_LSION;
  while((RCC->CSR & RCC_CSR_LSIRDY)!=RCC_CSR_LSIRDY);
  RCC->BDCR = RCC_BDCR_RTCSEL_1;
  RCC->BDCR |= RCC_BDCR_RTCEN; 
}

int main(void) {
  rtc_ini();
  uint8_t num = 0;
  while(1){
    num = (RTC->SSR % 9);
    /* 
     
    */
  }
}
или использовать какой либо более серьезный алгоритм.

Re: stm32 random number generator

Добавлено: Вт янв 05, 2016 22:34:59
HHIMERA
Вы о чём??? ТСа лень... гвоздями к полу прибила... лень ему было 20 сек. на гугль потратить...
Набираем "генератор случайный чисел"... видим...
https://ru.wikipedia.org/wiki/%D0%93%D0 ... 0%B5%D0%BB
Набираем "STM32 DAC LFSR"... получаем... сходу...
http://we.easyelectronics.ru/STM32/dac- ... rator.html
http://embedded-lab.com/blog/stm32-digi ... erter-dac/

И это не считая... RTC... DWT... SysTick timer... CRC calculation unit... 96-bit unique ID и пр. ...

Re: stm32 random number generator

Добавлено: Ср янв 06, 2016 04:17:42
pixar
в STM32F100 нет хардварного TrueRNG -> нет lib.
из недорогих есть в STM32L052.

Re: stm32 random number generator

Добавлено: Сб янв 09, 2016 16:11:32
AVI-crak
stm32f1 - это cortex m3, значит код на асме даже переделывать не придётся.
Можно взять частями, или полностью весь проект, описание на http://forum.ixbt.com/topic.cgi?id=48:11735.
функция static uint32_t sRandom( uint32_t Random_max,uint32_t Random_min) с корректным рандромом до 16 бит в случае применения мин/мах.
Рекурсия 48 циклов, на ядре 72мгц - вычисления получаются очень быстрыми. Полный цикл псевдорандома 2^97 комбинаций, надеюсь этого хватит.

Re: stm32 random number generator

Добавлено: Чт июл 05, 2018 10:49:11
metrorik
[uquote="AVI-crak",url="/forum/viewtopic.php?p=2607831#p2607831"]stm32f1 - это cortex m3, значит код на асме даже переделывать не придётся.
Можно взять частями, или полностью весь проект, описание на http://forum.ixbt.com/topic.cgi?id=48:11735.
функция static uint32_t sRandom( uint32_t Random_max,uint32_t Random_min) с корректным рандромом до 16 бит в случае применения мин/мах.
Рекурсия 48 циклов, на ядре 72мгц - вычисления получаются очень быстрыми. Полный цикл псевдорандома 2^97 комбинаций, надеюсь этого хватит.[/uquote]
Здравствуйте. Не могли бы Вы подсказать как подключить и использовать данную функцию к си проекту в keil? К сожалению не силен в асме. Спасибо.

Re: stm32 random number generator

Добавлено: Пт июл 06, 2018 17:22:30
xVekx
Делал так. http://www.cplusplus.com/reference/cstdlib/rand/

Код: Выделить всё

#include <stdlib.h>

//по таймеру 0.3 с
srand(HAL_GetTick());

//в коде
int RandAlg_GetRandInt(int low, int high)
{
	return rand() % ((high + 1) - low) + low;
}


Re: stm32 random number generator

Добавлено: Чт июл 19, 2018 10:50:02
metrorik
Спасибо. Попробую этот вариант.