Страница 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
Спасибо. Попробую этот вариант.