Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 08.09.2010, 21:41  
AssemblerRu
Временная регистрация
 
Регистрация: 30.08.2010
Сообщений: 48
Сказал спасибо: 0
Сказали Спасибо 24 раз(а) в 17 сообщении(ях)
AssemblerRu на пути к лучшему
По умолчанию Генератор случайных чисел на Atmel контроллере

Кто поделится соображениями по созданию генератора случайных чисел.
Реклама:
AssemblerRu вне форума  
Сказали "Спасибо" AssemblerRu
warel (27.06.2019)
Непрочитано 08.09.2010, 22:02  
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel конторллеров

в stdlib.h есть функция rand() и srand()
PHP код:
 rnd=rand() % N/* Присвоит переменной rnd случайное значение от 0 до N-1 */ 
PHP код:
srand(n);
 
rnd=rand() % N/* Присвоит переменной rnd случайное значение от n до N-1 */ 
Максимальное значение N=0x7fff

Последний раз редактировалось harchenko_pavel; 08.09.2010 в 22:05.
harchenko_pavel вне форума  
Сказали "Спасибо" harchenko_pavel
warel (27.06.2019)
Непрочитано 08.09.2010, 22:10  
Falconist
Супер-модератор
 
Аватар для Falconist
 
Регистрация: 08.09.2007
Адрес: Kyiv, Ukraine
Сообщений: 7,967
Сказал спасибо: 429
Сказали Спасибо 3,939 раз(а) в 1,690 сообщении(ях)
Falconist на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Здесь эта задача уже была решена.
__________________
Выслушай и противную сторону, даже если она тебе и противна!..
Falconist вне форума  
Сказали "Спасибо" Falconist
warel (27.06.2019)
Непрочитано 08.09.2010, 23:40  
Falconist
Супер-модератор
 
Аватар для Falconist
 
Регистрация: 08.09.2007
Адрес: Kyiv, Ukraine
Сообщений: 7,967
Сказал спасибо: 429
Сказали Спасибо 3,939 раз(а) в 1,690 сообщении(ях)
Falconist на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

А вот что пишут Хоровиц и Хилл:
Миниатюры:
Нажмите на изображение для увеличения
Название: Цитата.jpg
Просмотров: 417
Размер:	162.0 Кб
ID:	12027  
__________________
Выслушай и противную сторону, даже если она тебе и противна!..
Falconist вне форума  
Эти 2 пользователя(ей) сказали Спасибо Falconist за это сообщение:
usb-com (31.10.2015), warel (27.06.2019)
Непрочитано 09.09.2010, 03:52  
MasterMushi
Вид на жительство
 
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
MasterMushi на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Я проверял как работает генератор псевдослучайных чисел на CVAVR результаты удручают. Псевдо случайность очень примитивная и повторы имеют место быть в весьма малый промежуток времени (10мин), но повторения идут со смещением на единицу. Тоесть если было число 20 то через 10 минут выпадает 21, еще через 10минут 22 и т д.
Причем мозайка "повторов" имеет и реально неповторяемые элементы в соотношении примерно (1:100) 1 процент из 1000 вызовов функции.

PHP код:
unsigned int i;
char buffer[10];
srand(0xF3);
while (
1)
      {
         
i++;
        
delay_ms(100);  
        
lcd_cputpixel(rand(),rand(), BLACK);
        
lcd_gotoxy(0,9);
        
sprintf(buffer,"I=%d",i); 
        
lcd_puts(buffer);
      }; 
__________________
Найди путь или проложи сам!

Последний раз редактировалось MasterMushi; 09.09.2010 в 03:55.
MasterMushi вне форума  
Сказали "Спасибо" MasterMushi
warel (27.06.2019)
Непрочитано 09.09.2010, 05:10  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Задействуйте Внешний СЛУЧАЙНЫЙ источник , помню- Стабилитрон - хорошо в ходу ходил. Белый Шум ..- на АЦП
Но- Программно- куча- творчества , сдвиговые- с исключением- Классика ...
Upd ... забыл сказать - в Тепловом шуме - распределение - не равномерное , не совсем- Белое...просто в Задаче - не было - распределения..

Последний раз редактировалось OlegNZH; 09.09.2010 в 05:34.
OlegNZH вне форума  
Сказали "Спасибо" OlegNZH
warel (27.06.2019)
Непрочитано 09.09.2010, 08:55  
sasareccer
Частый гость
 
Аватар для sasareccer
 
Регистрация: 20.07.2006
Сообщений: 37
Сказал спасибо: 2
Сказали Спасибо 7 раз(а) в 4 сообщении(ях)
sasareccer на пути к лучшему
Хорошо Re: Генератор случайных чисел на Atmel контроллере

Например для трех случайных чисел.
На что будете делить-умножать переменную "а" - это на свой вкус.
Также и чему будет равна при старте
static long a = ххххх
тоже на свой вкус.

Код:
// returns random integer from 1 to lim
//
int rand1(int lim)
{
  static long a = 100001;
  a = (a * 125) % 2796203;
  return ((a % lim) + 1);
}

//
// returns random integer from 1 to lim (Gerhard's generator)
//
int rand2(int lim)
{
  static long a = 1; // could be made the seed value
  a = (a * 32719 + 3) % 32749;
  return ((a % lim) + 1);
}

//
// returns random integer from 1 to lim (Bill's generator)
//

int rand3(int lim)
{
  static long a = 3;
  a = (((a * 214013L + 2531011L) ›› 16) & 32767);
  return ((a % lim) + 1);
}
sasareccer вне форума  
Сказали "Спасибо" sasareccer
warel (27.06.2019)
Непрочитано 10.09.2010, 20:53  
AssemblerRu
Временная регистрация
 
Регистрация: 30.08.2010
Сообщений: 48
Сказал спасибо: 0
Сказали Спасибо 24 раз(а) в 17 сообщении(ях)
AssemblerRu на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Сообщение от OlegNZH Посмотреть сообщение
Задействуйте Внешний СЛУЧАЙНЫЙ источник , помню- Стабилитрон - хорошо в ходу ходил. Белый Шум ..- на АЦП
Да вы правы это на мой взгляд наиболее удачное решение

Подскажите со схемой подключения самого стабилитрона
AssemblerRu вне форума  
Сказали "Спасибо" AssemblerRu
warel (27.06.2019)
Непрочитано 10.09.2010, 21:17  
аtаs_stas
Заблокирован
 
Регистрация: 23.08.2010
Сообщений: 541
Сказал спасибо: 20
Сказали Спасибо 93 раз(а) в 78 сообщении(ях)
аtаs_stas на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Стандартное включение, но ток через стабилитрон намного ниже минимального тока стабилизации... Да поиском... шняга известная...
аtаs_stas вне форума  
Сказали "Спасибо" аtаs_stas
warel (27.06.2019)
Непрочитано 13.09.2010, 10:37  
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Re: Генератор случайных чисел на Atmel контроллере

Стабилитрон нужон совковый. Импортные стабилитроны слабо шумят. Со стабилитрона усилить желательно ОУ. Далее можно компаратор поставить и отстроить пороги, или же завести на встроенный компаратор.
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
OneTech вне форума  
Сказали "Спасибо" OneTech
warel (27.06.2019)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 15:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot