Re: Простейший DCC декодер на Arduino
Добавлено: Ср мар 09, 2016 10:04 am
Ну тогда тут еще запас по быстродействию приличный.
Все о моделях железных дорог!
https://scaletrainsclub.com/board/
https://scaletrainsclub.com/board/viewtopic.php?f=30&t=11949
нет Федя. более менее стройно и понятно было при использовании только двухбайтных базовых пакетов, не считая преамбулы и контрольного байта.Федюнь писал(а):Ну ка же не понятен? Всё по полкам.
Федя могут, длинный адрес это 14 бит, в теории: от 1 до 16384, но реально до 9999 или даже еще меньше.Федюнь писал(а):А разве локомотивы могут иметь адрес больше 127?
тут кстати цифры (128-191) и (192-231) это не адреса в чистом виде, а старшие биты адресов! недостающие младшие биты во втором байте вместо части данных.A: деление адресного пространства
Address 00000000 (0): броадкастовый адрес - для всех локомотивных декодеров
Addresses 00000001-01111111 (1-127)(включая): Локомотивные декодеры с коротким адресом 7 бит (базовые пакеты) адреса в чистом виде
Addresses 10000000-10111111 (128-191)(включая): аксессуарные декодеры с коротким адресом 9 бит, (базовые пакеты) адреса от 1 до 512 либо аксессуарные декодеры с длинным адресом 11 бит, адреса от 1 до 2048 (расширенные пакеты)
Addresses 11000000-11100111 (192-231)(включая): Локомотивные декодеры с длинным адресом 14 бит, адреса от 1 до 9999 или 16384 (расширенные пакеты)
45 Addresses 11101000-11111110 (232-254)(включая): зарезервировано (ИМХО никогда не будет)
Address 11111111 (255): Пакет ожидания
Вася "нутыжепрограмист" должен понимать, что стандарт, задача от заказчика и реализация программы совершенно разные вещиВасилий писал(а):Коллеги, читаю стандарт и не понимаю...
Давай по порядку:Василий писал(а):Если я правильно понимаю, то локомотив не может иметь короткие адреса со 128 по 191. Но, Мультимыша легко назначает адрес из этого диапазона и шлет его обычным пакетом как для лока.
WTF?
70. The first address byte contains 8 bits of address information. If the most significant bits of the address are "11"and the remaining bits are not “111111”, then a second address by te must immediately follow. This second address byte will then contain an additional 8 bits of address data. When 2 bytes of address information are present they are separated by a "0" bit. The most significant bit of two byte addresses is bit 5 of the first address byte. (bits #6 and #7 having the value of "1" in this case.