/var/www/tqfp.org/templates/compiled/bsvi/0d05b75eab3b2725749144bfae7199a59edeab1e_0.file.profile_top.tpl.php on line 35
Warning: Attempt to read property "value" on null in /var/www/tqfp.org/templates/compiled/bsvi/0d05b75eab3b2725749144bfae7199a59edeab1e_0.file.profile_top.tpl.php on line 35
">
Warning: Attempt to read property "value" on null in /var/www/tqfp.org/templates/compiled/bsvi/0d05b75eab3b2725749144bfae7199a59edeab1e_0.file.profile_top.tpl.php on line 35
">
Рейтинг
0.00
Сила
0.00
Кстати, в Вашей программе после выхода из цикла переменная ptr как раз указывает на CRC. Не пробовали вместо:
if (calculated_crc != read_crc)
написать:
if (calculated_crc != *ptr)
Если имеются 3 одинаковых устройства, которые работают одновременно и одинаково, и их выходы подключены ко входам мажоритара, то на выходе мажоритара будет сигнал, совпадающий с сигналами на выходе всех 3-х устройств. Кстати мажоритаров — тоже 3, их входы подключаются параллельно к выходам каждого из предыдущих устройств, а выходы на входы 3-х следующих устройств — каждый к своему. Если одно из устройств выйдет из строя, а два других продолжают функционировать нормально, то на выходе мажоритара всё равно будет правильный сигнал.
Такая схема отлично работает с устройствами без памяти, а также с устройствами памяти в «чистом» виде (триггеры, ОЗУ). А вот при работе со сложными устройствами есть «ложка дёгтя»:
Предположим, что устройство (к примеру микроконтроллер) опрашивает некий сигнал по таймеру и в ответ на него на одном из своих выходов разворачивает некую циклограмму. Предположим, что одно из устройств обнаружило сигнал и начало выдавать циклограмму, а второе устройство обнаружило его только на следующем такте таймера. Скорее всего обнаружение сигнала на следующем такте — вполне допустимая задержка реакции на сигнал — т.е. оба устройства работают нормально. Но сигналы на входах мажоритара — разные! Здесь возможно два решения: