stm32 random number generator

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
O'NeiLL
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Чт сен 05, 2013 18:23:31

stm32 random number generator

Сообщение O'NeiLL »

Ребят а существует официальная библиотека для генерации случайных чисел для контроллера stm32f100x (плата stm32vldiscovery)?
Просто колхозить не особо охото с аналоговыми ножками. Пролете свет на эту деталь?
Аватара пользователя
pavell
Открыл глаза
Сообщения: 56
Зарегистрирован: Вт дек 29, 2015 11:33:49

Re: stm32 random number generator

Сообщение 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);
    /*
     
    */
  }
}
или использовать какой либо более серьезный алгоритм.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: stm32 random number generator

Сообщение 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 и пр. ...
"Я не даю готовых решений, я заставляю думать!"(С)
pixar
Потрогал лапой паяльник
Сообщения: 314
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Re: stm32 random number generator

Сообщение pixar »

в STM32F100 нет хардварного TrueRNG -> нет lib.
из недорогих есть в STM32L052.
Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

Re: stm32 random number generator

Сообщение 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 комбинаций, надеюсь этого хватит.
metrorik
Родился
Сообщения: 2
Зарегистрирован: Пн сен 23, 2013 22:56:19

Re: stm32 random number generator

Сообщение metrorik »

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 комбинаций, надеюсь этого хватит.

Здравствуйте. Не могли бы Вы подсказать как подключить и использовать данную функцию к си проекту в keil? К сожалению не силен в асме. Спасибо.
xVekx
Встал на лапы
Сообщения: 125
Зарегистрирован: Вс мар 01, 2009 20:41:19

Re: stm32 random number generator

Сообщение 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;
}

metrorik
Родился
Сообщения: 2
Зарегистрирован: Пн сен 23, 2013 22:56:19

Re: stm32 random number generator

Сообщение metrorik »

Спасибо. Попробую этот вариант.
Ответить

Вернуться в «ARM»