|
Если основная программа каждую мкс инкрементирует переменную, а потом влетает в п/п обработки - кто будет инкрементировать эту переменную, пока программа крутится в прерывании? 1мкс - вообче-то довольно мало, на 16 МГц всего 16 тактов, или 4 раза "сунул" - 4 раза "высунул" из памяти. Маловато будет!
Если есть свободный 16-ти битный таймер, то предлагаю такой изврат: переменную организовать в таймере, инкрементировать внешней ногой (соединив ее с каким-нибудь выходом, SBI-CBI, всего 2 такта, и никаких проблем с битом переноса и чтением 16-ти битного слова ввиду наличия у таймеров спец. буферов). Не надо глобальных переменных, не надо регистров.
Но-изврат, да :-))
Это как "goto"...
E-mail: info@telesys.ru