Ребят а существует официальная библиотека для генерации случайных чисел для контроллера stm32f100x (плата stm32vldiscovery)?
Просто колхозить не особо охото с аналоговыми ножками. Пролете свет на эту деталь?
stm32 random number generator
Re: stm32 random number generator
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
Вы о чём??? ТСа лень... гвоздями к полу прибила... лень ему было 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 и пр. ...
Набираем "генератор случайный чисел"... видим...
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
в STM32F100 нет хардварного TrueRNG -> нет lib.
из недорогих есть в STM32L052.
из недорогих есть в STM32L052.
- AVI-crak
- Прорезались зубы
- Сообщения: 202
- Зарегистрирован: Сб янв 09, 2016 15:51:17
- Контактная информация:
Re: stm32 random number generator
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 комбинаций, надеюсь этого хватит.
Можно взять частями, или полностью весь проект, описание на 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
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 комбинаций, надеюсь этого хватит.
Можно взять частями, или полностью весь проект, описание на 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? К сожалению не силен в асме. Спасибо.
Re: stm32 random number generator
Делал так. 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
Спасибо. Попробую этот вариант.