ARV писал(а):akl, вы бы хоть пояснили, в каких регистрах у вас само число получается... я вот взял и протестировал в студии - нифига не псевдослучаное там получается... ессли вначале все регистры обнулены - вообще так они и остаются, а если в ZL не ноль - что-то получается в ZH:ZL, но на случайное похоже мало... во всяком случае при начальном значении ZL=2 получается последовательность чисел больше 255 однозначно - т.е. явно не очень случайное распределение...
и вообще, алгоритм какой-то странный у вас...
ARV
Вторая строчка сверху
"; Регистры ZH ZL генератор псевдослучайной последовательности"
Спасибо за тестирование программы!
Каюсь, при убирании ненужного в этой программе стер начальную установку пары ZH:ZL в любое, отличное от 0xFFFF, значение, которое является запрещенным. Значение 0 входило в область необходимых, поэтому и был выбран этот алгоритм, но откуда он был взят??? не помню.
Последовательность чисел, получаемая после прерывания TIM0 в паре ZH:ZL 0x0002,0x0005,0x000B,0x0017,0x002F,0x005F,0x00BE,0x017D,0x02FB,0x05F6,0x0BED,0x17DA,0x2FB5,0x5F6B,....
Последовательность чисел, получаемая после прерывания TIM0 в паре ZH:ZL 0x0000,0x0001,0x0003,0x007,0x000F,0x001F,0x003F,0x007F,0x00FE,0x01FC,0x03F9,0x7F3,0x0FE7,0x1FCE,0x3F9C,....
Проверял AVR STUDIO 3.2.
Исправленный вариант, в который включены команды проверки. По умолчанию проверяется отсутствие в последовательности кода 0xFFFF.