Микроконтроллеры | Random !? |
|
---|---|---|
Уточняю! |
|
|
Тогда однозначно подойдет псевдослучайный генератор на "регистрах с обратными связями". Если делать программным способом, то минимум кода и максимум быстродействия получится при использовании 15-разрядного слова (понадобится только 1 "отвод" -- например, от 14-го разряда): делаете опреацию "исключающее или" над 15-м и 14-м битами, сдвигаете слово на один разряд влево, а результат записываете в 0-й бит. Псевдослучайное число 0...255 считываете из восьми младших бит. Не забудьте предварительно проинициализировать вашу 15-разрядную переменную любым ненулевым значением. Либо воспользуйтесь языком высокого уровня, который имеет готовую библиотечную функцию. |
|
|
Звёздное небо на деревянной логике представляю следующим образом: Два счётчика ИЕ4(ИД4) (Извините если не в тему) |
|
|
ИМХО - "однорукий бандит". |
|
|
Для ПСП длинной 255 бит нужен 8-разрядный регистр сдвига, можно выбирать из 16 разных образующих полиномов. Но меньше, чем 3 элементами "исключающее ИЛИ" в обратных связях обойтись не получится. IDiod, вы предлагаете не вполне работоспособный вариант, ведь ваша последовательность будет длинной 32767 бит; если брать "восемь младших бит", то будут мометы, когда на всех выходах установятся нули, а это противоречит условию задачи. Более того, перебор всех возможных вариантов на выходах, кроме всех нулей - одно из основных свойств ПСП. |
|
|
А если просто взять много мигающих светодиодов и соединить параллельно? |
|
|
Mastak: Для ПСП длинной 255 бит нужен 8-разрядный регистр сдвига, можно выбирать из 16 разных образующих полиномов. Но меньше, чем 3 элементами "исключающее ИЛИ" в обратных связях обойтись не получится. IDiod, вы предлагаете не вполне работоспособный вариант, ведь ваша последовательность будет длинной 32767 бит; если брать "восемь младших бит", то будут мометы, когда на всех выходах установятся нули, а это противоречит условию задачи. Более того, перебор всех возможных вариантов на выходах, кроме всех нулей - одно из основных свойств ПСП. Насколько я понял, Tim18-у ПСП максимальной длины (с их специф.свойствами) не нужны. Младший байт действительно будет иногда принимать значение "0" -- это как раз и соответствует условию задачи (светодиодов-то 256, а не 255!). Если не верите в перебор всех возможных вариантов у этого байта -- можете проверить Для звездного неба такой алгоритм не очень-то подойдет, так как гореть будет всего 1 светодиод из 256 (Num Lock предлагает вариант, лишенный этого недостатка). |
|
|
|
||
А как, кстати технически реализовано ? В смысле сама матрица светодиодов, соединение, крепление ? Кстати при равномерном распределении 0-256 не интересно - большое изменение яркости, нодо получать число 2^256 порядка причем с условием что одновременно зажжено не менее N и не более M светодиодов. |
|
|
Tim18 Я вас умоляю - не делайте звёздное небо на микроконтроллере. Во первых - он для этого не подходит: большая чувствительность к внешним раздражителям. Таким как статика и шумы по питанию. Во вторых - он слишком правильный: не может нормально заниматься бредом (ваш рандом). В третьих - неадекватность программы + возможные зависания. Короче, в любом случае - не рекомендую. |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |