Цитата(singlskv @ Oct 16 2006, 18:07)

Цитата(Demeny @ Oct 16 2006, 17:19)

Это можно делать и в момент включения. Вначале ставим что-то типа
Random_Seed_In_EEPROM = random (Random_Seed_In_EEPROM);
и вуаля!
Это не очень хорошо.
Пусть генерируеться такая последовательность(для примера)
1 10256 387 40001 67 23070 ...
тогда при первом включении будем иметь последовательность:
1 10256 387 40001 67 23070 ...
при втором:
10256 387 40001 67 23070 ...
при третьем:
387 40001 67 23070 ...
и т.д.
То есть в итоге эти последовательности будут почти совпадать, за исключением
первых членов, что не всегда есть хорошо

Просто поразительно как мы пытаемся думать.
Привсём к Вам уважении, 'singlskv' попробуйте сами разобраться (хорошенько подумав) в том что Вы написали.
1) Последоваельность не имеет значения. Мы же не сигнализацию делаем. Но даже если она имеет значение, то любыми действиями, изменяя одну последовательность мы приходим к другой. Тоже жёско забитой. это ПСЕВДОСЛУЧАЙНЫЕ числа! Надо это понимать.
2) Объём последовательности - мощность генератора - определяется практически только ФУКЦИЕЙ (формулой) генератора псевдослучайных чисел. В рассматриваемом вопросе - это функция Си компилятора IAR. Если хотите этого избежать возьмите справочник, выберите тип распределения и напишите функцию сами.
3) Пытаясь инициализировать функцию Вы хотите получить уже случайное число. Так зачем функция? Потому, что Вы не совсем доверяете? Или Вас не устраивает мощность такого генератора?
Подытоживая, - этот спор ни о чём. Выводы:
1) Объём выборки определяется только функцией. Например ф-ия X(i+1) = FRAC(11*X(i)+Pi) даёт 8000 неповторяющихся значений, а X(i+1) = FRAC(x(i)/z(i)+Pi), где Z(i+1)=Z(i)+1*10**-8. даёт 8,9*10**7 чисел.
2) Инициализацией всё равно не увеличить мощность формулы. Поэтому любой из предложенных методов является действенным. К ним я отношу.
1) Если есть, использование серийного номера или формулы с ним связанной.
2) Использование различных внешних элементов. АЦП, RC и т.д.
3) Использование формулы связаной с неинициализируемым ОЗУ.
4) Измерение WDT.
И т.п.
Определить что лучше что хуже на пальцах не удастся, так как это статистика. Надо определить мощность генерации случайного числа, этими способами на большом количестве изделий. Спор на "понятиях" - бессмысленен.
Использование в качестве инициализирующего значения самого числа генерируемого RND не поможет. Так как речь идёт о ПЕРВОНАЧАЛЬНОМ запуске. То есть запустили партию изделий - и что? В таком случае надо сразу зашивать что-то. Тогда всё тип топ. Но это тот же первый пункт!