Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Четверг
28 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Микроконтроллеры
350676
Топик полностью
johann
(31.08.2012 13:25, просмотров: 63)
ответил
3m_пароль_не_помню
на
как получать случайные числа в микроконтроллере ? нужны ДЕЙСТВИТЕЛЬНО случайные числа хотя бы 9 бит, псевдослучайная последовательность или шум внутреннего ацп недостаточны. Пытался использовать стабилитрон + оу. Результат плохой, современные
class RandInt{
unsigned long randx; public: RandInt(long s=0) { randx = s;} void seed(long s) { randx = s;} long abs(long x) { return (x & 0x7FFFFFFF);} static double rmax() { return 2147483648.0;} long draw() { return randx=randx*1103515245+12345;} double fdraw() { return abs(draw())/rmax();} long operator()() { return abs(draw()); } }; unsigned long seed = TMRx.VAL; RandInt ri(seed);
Ответить