Ну да, наверно я не совсем точно сформулировал, вернее не до конца. Прошу прощения
Опять непонятно, зачем вам это? Вы всё равно на время пересылки за датчиками следить не будете.
Датчики срабатывают как бы пакетно что ли. То есть в один момент времени может сработать сразу несколько, с разницей в несколько МИКРОсекунд, а после того как это произошло не один не может сработать раньше чем через 10 МИЛИсекунд. Вот поэтому мне и нужно успеть просканировать все дачтики сразу и только потом - в этот перерыв в 10 милисекунд - отсылать состояния этих датчиков.
Поэтому слать первый же сработавший сразу нельзя - можно пропустить следующий сработавший.
А если сперва записать состояние каждого в свою переменную (это всего по одному такту на датчик: a=PINB.0, b=PINB.1....), то потом, в эти десять милисекунд, мне конечно за глаза хватит чтоб отправить сработавшие.
Вот как-то так.
Уж не знаю понятно ли объяснил или нет...
Чтобы не терять данные, нужно несколько усложнить программу добавлением кольцевого буфера FIFO
Да, я читал про это, так и нужно делать чтоб было "красиво". Но честно говоря, до конца пока не разобрался. Я ведь еще только учусь...
Да и в данном случае можно обойтись и без него, благодаря 10и милисекундной задержке.
И спасибо Вам, что подсказали куда заглянуть по поводу буфера!