|
Сделать генератор псевдослучайных чисел наС |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 14)
|
Oct 13 2006, 10:09
|
Группа: Новичок
Сообщений: 9
Регистрация: 6-10-06
Пользователь №: 21 061

|
В компиряторе с Dode Vision есть функция random(); - генерирует случайные числа. В хелпе она детально описана.
|
|
|
|
|
Oct 13 2006, 10:13
|
Частый гость
 
Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217

|
Цитата(Sanya Nemo @ Oct 13 2006, 14:09)  В компиряторе с Dode Vision есть функция random(); - генерирует случайные числа. В хелпе она детально описана. К сожалению использую IAR, доступа к Code Vision нету, поэтому если можно поподробнее.
|
|
|
|
|
Oct 13 2006, 10:24
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Тоже нет доступа к Сode Vision, может, кто подскажет, функция random(); если её поставить в самом начале программы при каждом включении будет давать один и тотже результат или разный. Просто в своё время сталкивался с подобной проблемой, что при каждом включении random генерит одно и тоже число.
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Oct 13 2006, 10:41
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Семён @ Oct 13 2006, 14:24)  Тоже нет доступа к Сode Vision, может, кто подскажет, функция random(); если её поставить в самом начале программы при каждом включении будет давать один и тотже результат или разный. Просто в своё время сталкивался с подобной проблемой, что при каждом включении random генерит одно и тоже число. Ну так это же псевдослучайные числа, так что последовательность всегда одна и таже. В IAR и GCC функция называется rand(). Перед rand() можно вызвать srand(int initval) для установки начала последовательности.
|
|
|
|
|
Oct 13 2006, 12:15
|
Частый гость
 
Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217

|
Цитата(singlskv @ Oct 13 2006, 16:12)  Цитата(demaven @ Oct 13 2006, 15:59)  а данные для инициализации rnd() надо брать со случайного источника, в компьютере берут время, а в контроллере? если есть что-то меняющееся независимо от контроллера, то померять и вставить
Если устройство питается от сети, то значение для инициализации можно брать из АЦП меряя моментальное значение напряжения сети. А если нет сети, тогда как
|
|
|
|
|
Oct 13 2006, 12:29
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(glebka @ Oct 13 2006, 16:15)  А если нет сети, тогда как генератор шума на стабилитроне
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Oct 13 2006, 12:35
|
Частый гость
 
Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217

|
Цитата(Семён @ Oct 13 2006, 16:29)  Цитата(glebka @ Oct 13 2006, 16:15)  А если нет сети, тогда как
генератор шума на стабилитроне у меня устройство питается от батареи,поэтому не выйдет. Плюс к одному пину подключен операционник с обвязкой.
|
|
|
|
|
Oct 13 2006, 12:43
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(glebka @ Oct 13 2006, 16:35)  у меня устройство питается от батареи,поэтому не выйдет. Плюс к одному пину подключен операционник с обвязкой. посмотри генераторы здесь http://www.radiotexnika.ru/nzpp/
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Oct 13 2006, 17:47
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(glebka @ Oct 13 2006, 16:35)  у меня устройство питается от батареи,поэтому не выйдет. Плюс к одному пину подключен операционник с обвязкой. Ну дык а что у Вас еше есть кроме батареи, AVR и операционника ? Нет ли у Вас в устройстве случаем DC/DC преобразователя, ну или например LCD ? Опишите поподробнее что есть в Вашем устройстве.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|