реклама на сайте
подробности

 
 
> Сделать генератор псевдослучайных чисел наС
glebka
сообщение Oct 13 2006, 09:56
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217



Необходимо сделать произвольную задержку времени на С.Если кто имеет подобный опыт, поделитесь.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
glebka
сообщение Oct 17 2006, 08:23
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217



У меня каждое устройство имеет уникальный адрес записанный в EEPROM(6 байтов) и устройство постоянно включается,выключается поэтому частая запись нежелательна.
А что если использовать этот ID в таком виде:

вначале

void srand(unsigned seed), где unsigned seed моё id,

потом

int rand(void)


Вопрос к SasaVitebsk

как посчитать скока памяти осталось.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 17 2006, 10:08
Сообщение #3


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(glebka @ Oct 17 2006, 12:23) *
У меня каждое устройство имеет уникальный адрес записанный в EEPROM(6 байтов) и устройство постоянно включается,выключается поэтому частая запись нежелательна.

На сколько часто ? Сколько раз за сутки ?
Цитата(glebka @ Oct 17 2006, 12:23) *
А что если использовать этот ID в таком виде:

вначале

void srand(unsigned seed), где unsigned seed моё id,

потом

int rand(void)

Так Вы получите каждый раз одну и ту же последовательность на данном устройстве.
На других устройствах конечно будет другая последовательность но все время постоянная.


Цитата(Михаил Горюнов @ Oct 17 2006, 13:09) *
В свое время решил эту задачу так :
За начальное значение взял время ожидания нажатия пользователем первой кнопки. :-)
Правда при этом девайс должен содержать клавиатуру.

Прежде чем давать совет, прочитайте всю ветку.
Кнопку мы уже обсуждали smile.gif
Go to the top of the page
 
+Quote Post
glebka
сообщение Oct 17 2006, 10:28
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217



Цитата(singlskv @ Oct 17 2006, 14:08) *
Цитата(glebka @ Oct 17 2006, 12:23) *

У меня каждое устройство имеет уникальный адрес записанный в EEPROM(6 байтов) и устройство постоянно включается,выключается поэтому частая запись нежелательна.

На сколько часто ? Сколько раз за сутки ?

Я думаю где-то раз в день.

Цитата(glebka @ Oct 17 2006, 12:23) *
А что если использовать этот ID в таком виде:

вначале

void srand(unsigned seed), где unsigned seed моё id,

потом

int rand(void)

Так Вы получите каждый раз одну и ту же последовательность на данном устройстве.
На других устройствах конечно будет другая последовательность но все время постоянная.

В принципе,я так думаю что меня устроит и постоянная последовательность главное чтобы устройства не перекрывали друг друга

Цитата(Михаил Горюнов @ Oct 17 2006, 13:09) *
В свое время решил эту задачу так :
За начальное значение взял время ожидания нажатия пользователем первой кнопки. :-)
Правда при этом девайс должен содержать клавиатуру.

Прежде чем давать совет, прочитайте всю ветку.
Кнопку мы уже обсуждали smile.gif



А как засумировать область озу неинициализированного.
Сейчас роюсь в helpe для icc, может кто-нибудь сталкивался?
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 17 2006, 14:14
Сообщение #5


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(glebka @ Oct 17 2006, 12:23) *
У меня каждое устройство имеет уникальный адрес записанный в EEPROM(6 байтов) и устройство постоянно включается,выключается поэтому частая запись нежелательна.

Цитата(glebka @ Oct 17 2006, 12:23) *
А что если использовать этот ID в таком виде:

вначале

void srand(unsigned seed), где unsigned seed моё id,

потом

int rand(void)

Цитата
В принципе,я так думаю что меня устроит и постоянная последовательность главное чтобы устройства не перекрывали друг друга

Ну тогда так и делайте
srand(ID)
rand()
........
rand()

Просто в начальном посте не было понятно что же Вам нужно в итоге... smile.gif

Цитата
Да нет никаких событий,работающее устройство должно время от времени посылать своё ID в окружающую среду, приёмник принимает и обрабатывает.

То есть Вам нужно разделение одного радиоканала на много независимых передатчиков.
Тогда можно обойтись вообще без случайных чисел.
Пусть есть 10 независимых передатчиков. У каждого из них в младшей части ID записан
номер от 1 до 10.
Выбираем довольно большое число (по сравнению с количеством передатчиков)
например 1000. Для каждого передатчика время между посылками делаем пропорционально
его номеру + наша константа: T=(1000+K)N где N>двухкратного времени одиночной посылки.
Иногда конечно будут возникать коллизии, но очень не часто.

Если хочеться еще уменьшить количество коллизий, тогда нужно смотреть в сторону простых чисел.
Пусть есть 10 передатчиков.
Выбираем 10 первых простых чисел больше 1000 и прописываем их в ID.
Для каждого передатчика время между посылками делаем пропорционально этим простым
числам. коллизий будет очень мало.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- glebka   Сделать генератор псевдослучайных чисел наС   Oct 13 2006, 09:56
- - Sanya Nemo   В компиряторе с Dode Vision есть функция random()...   Oct 13 2006, 10:09
|- - glebka   Цитата(Sanya Nemo @ Oct 13 2006, 14:09) В...   Oct 13 2006, 10:13
|- - Семён   Тоже нет доступа к Сode Vision, может, кто подскаж...   Oct 13 2006, 10:24
|- - singlskv   Цитата(Семён @ Oct 13 2006, 14:24) Тоже н...   Oct 13 2006, 10:41
- - demaven   а данные для инициализации rnd() надо брать со слу...   Oct 13 2006, 11:59
|- - singlskv   Цитата(demaven @ Oct 13 2006, 15:59) а да...   Oct 13 2006, 12:12
||- - glebka   Цитата(singlskv @ Oct 13 2006, 16:12) Цит...   Oct 13 2006, 12:15
||- - singlskv   Цитата(glebka @ Oct 13 2006, 16:15) А есл...   Oct 13 2006, 12:25
||- - Семён   Цитата(glebka @ Oct 13 2006, 16:15) А есл...   Oct 13 2006, 12:29
||- - glebka   Цитата(Семён @ Oct 13 2006, 16:29) Цитата...   Oct 13 2006, 12:35
||- - Семён   Цитата(glebka @ Oct 13 2006, 16:35) у мен...   Oct 13 2006, 12:43
||- - singlskv   Цитата(glebka @ Oct 13 2006, 16:35) у мен...   Oct 13 2006, 17:47
|- - defunct   Цитата(demaven @ Oct 13 2006, 14:59) а да...   Oct 15 2006, 02:34
|- - singlskv   Цитата(defunct @ Oct 15 2006, 06:34) Цита...   Oct 15 2006, 12:55
|- - glebka   Цитата(singlskv @ Oct 15 2006, 16:55) Цит...   Oct 15 2006, 20:02
|- - singlskv   Цитата(glebka @ Oct 16 2006, 00:02) да ни...   Oct 15 2006, 21:03
|- - demaven   Цитата(singlskv @ Oct 16 2006, 03:03) Цит...   Oct 16 2006, 03:10
|- - Demeny   Цитата(demaven @ Oct 16 2006, 07:10) Цита...   Oct 16 2006, 07:18
|- - singlskv   Цитата(Demeny @ Oct 16 2006, 11:18) Цитат...   Oct 16 2006, 07:46
|- - Demeny   Цитата(singlskv @ Oct 16 2006, 11:46) Да,...   Oct 16 2006, 13:19
|- - singlskv   Цитата(Demeny @ Oct 16 2006, 17:19) Цитат...   Oct 16 2006, 15:07
|- - Nanobyte   Цитата(singlskv @ Oct 16 2006, 19:07) То ...   Oct 16 2006, 20:03
||- - singlskv   Цитата(Nanobyte @ Oct 17 2006, 00:03) Цит...   Oct 16 2006, 20:31
|- - SasaVitebsk   Цитата(singlskv @ Oct 16 2006, 18:07) Цит...   Oct 17 2006, 11:54
|- - singlskv   Цитата(SasaVitebsk @ Oct 17 2006, 15:54) ...   Oct 17 2006, 13:34
- - Alex11   Можно попробовать подвесить вход АЦП в половину пи...   Oct 13 2006, 18:40
|- - SasaVitebsk   Цитата(Alex11 @ Oct 13 2006, 21:40) Можно...   Oct 14 2006, 19:08
|- - Михаил Горюнов   Цитата(singlskv @ Oct 17 2006, 14:08) Пре...   Oct 17 2006, 10:21
||- - singlskv   Цитата(Михаил Горюнов @ Oct 17 2006, 14:2...   Oct 17 2006, 10:50
|- - singlskv   Цитата(glebka @ Oct 17 2006, 14:28) Я дум...   Oct 17 2006, 11:06
|- - glebka   [quote] Просто в начальном посте не было понятно ч...   Oct 18 2006, 14:16
- - Михаил Горюнов   В свое время решил эту задачу так : За начальное з...   Oct 17 2006, 09:09
- - Михаил Горюнов   Зачем вообще использовать EEPROM для генератора сл...   Oct 17 2006, 10:34
|- - glebka   Цитата(Михаил Горюнов @ Oct 17 2006, 14:3...   Oct 17 2006, 10:49
|- - Михаил Горюнов   Цитата(glebka @ Oct 17 2006, 14:49) Да не...   Oct 17 2006, 11:04
- - demaven   8 передатчиков работали на одной частоте на 64 при...   Oct 18 2006, 04:50


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01944 секунд с 7
ELECTRONIX ©2004-2016