Имеется “взрослая” сборка.
MEGA2560 + ENC28j60 + Модуль SD + 2 считывателя по протоколу Wiegand (D0+D1) + RTC DS1307 + RS485 на Serial3 + Слэйв Nano на Serial2. Всё на платах ЛУТ.
SPI между SD модулем и модулем ENC28j60, MISO через 220 Ом, как положено.
Запаяно всё надёжно. Питания и земли несколько раз перепроверял… По отдельности всё работает прекрасно. ДАЖЕ когда всё подключено, и без инициализации модуля SD карты - всё работает шикарно.
Пробовал: менять ноги CS SD, менять порядок инициализаций модулей, менять ноги и способы включения считывателей (мало ли - вдруг наводки). Уже воткнул НАНО для того чтоб она выполняла роль слэйва и кидала тэги меток на мастера… - и ничего. НИ - ЧЕ - ГО. Не работают оба считывателя одновременно с модулем карты… Даже с другой платы! Мистика.
Без считывателей всё работает шикарно. Включаем считыватели - один работает, второй - нет.
Откидываем инициализацию модуля карты - оба считуна работают. На работу карты SD при этом ничего не влияет.
Наталкивает мысль, что проблема не в схемотехнике, а именно в коде… Но доказать никак не могу. Вдруг всё-таки не в коде?
Первый раз вижу такую магию, чтоб всё с микроскопом изучить - и никаких зацепок!
Идеи?