Цитата Сообщение от melky Посмотреть сообщение
Так.
Опрос - 1 просто разрешает опрос устройства и ничего более, пока в 1, устройство будет опрашиваться. Почему же устройство опрашивается, если переменная Опрос НЕ ЗАДАНА ???? где логика ? при чем опрашиваются ВСЕ переменные, в которых переменная "Запуск чтения" так же НЕ ЗАДАНА

Что на счет переменных Статус ?

И таки бит en1 и en2 не будет сбрасываться, если активировать вход и не трогать..

И таки не понимаю, о каком аппаратном сбросе бита речь, все в программе. Аппаратно, когда мы послали импульс в какую-то ВНУТРЕННЮЮ (флаг, маркер) переменную ПР и после чтения она будет сброшена самим ПР а не нашей программой. А то ваши слова об аппаратности переменных еще больше сбивают с толку.
Нет, флаги разрешения опроса самого устройства en1, en2 это постоянные значения (0 или 1), если туда ничего не назначено, ничего и не анализируется, модуль всегда в работе. А вот флаг чтения rd, он взводится по фронту, специально триггер поставил, а сбрасывается сами процессором, после опроса всех регистров куда входит флаг. Для всех остальных регистров где нет флагов чтения/записи работает опрос по заданному значению периода опроса, можно поставить в максимальное значение или выделить в отдельное устройство и запускать по разрешению, тогда не будет достигнуто максимальное время 65535 мс, разбив таким образом по группам, можно хоть раз в 10 минут запросы делать. Если флаг rd принудительно выставить в "1" без фронта, будет опрос с максимально возможной скоростью.