Цитата
Вот наступит весна, установлю железо на свою мачту и посмотрим в реальности насколько помехи будут мешать))
Ага, а потом лазить туда ещё раз.
Эти недоработки надо исключать сразу. Не так то и много там изменени й внести в схемотехнику, а надежность повысится точно. Ещё и детектировать обрыв сигнального провода можно будет))
Прерывание либо возникает, либо не возникает.
Если оно возникает, то во время входа в обработчик остальные прерывания запрещаются cli();, а после выхода из обработчика - разрешаются снова sei();
те прерывания, которые возникли, пока процессор был в обработчике - начинают вызывать свои обработчики в соответствие с таблицей приоритетов и всё по тому-же принципу(запрет прерывания обработчика прерывания).
Однако, если за то время, пока процессор сидел в обработчике(какого-то другого прерывания), произошло, скажем, два прерывания от таймера(или 10) - по выходу из того обработчика, процессор не может знать сколько раз произошло прерывание таймера. он просто видит флаг запроса прерывания от таймера и послушно выполнит его обработчик. Но, к сожалению, только один раз )
Вот почему
обработчик прерывания должен исполняться как можно быстрее.
Всё вышесказанное справедливо для AVR. В другой архитектуре может быть иначе.
А вот что значит это ваше
Цитата
использовать прерывания в обработчике прерываний?
я не понял.
Выражайтесь по возможности конкретнее и точнее... слишком часто вы пишете так, что понять Вас без телепатии невозможно.
Программист, я скажу Вам, просто
обязан уметь чётко, логично и последовательно выражать свои мысли. Об этом говорили/писали не раз и не в одной книге.
The truth is out there...