AI_Disable писал(а):rus-us писал(а):Хочу завести счетчик секунд, через прерывание по переполнению буфера
Wut? Какого буфера?
rus-us писал(а):от 0 и до 65000(int), или еще лучше до 86400+ (long int).
Тут непонятные цифры, взятые, видимо, из воздуха.
----
Если нужна скорость - старайтесь не использовать 32битные переменные. А для подсчёта секунд вообще достаточно одной 8 битной переменной (а то и вообще удаётся устроить как рас 1 прерывание в секунду). Используйте прескаллеры таймеров и режим СТС.
имел ввиду - переполнению таймера.
по цифрам: 65000 сек - это почти 18 часов(почти максимальное значения для INT), 86400 - сутки(это уже LONG INT).
Суть вопроса:
Мне в программе нужно с полтора десятка таймеров(счетчиков времени) на разное время с шагом 1секунда.
По переполнению таймера высчитываю минимальную, нужную для меня единицу времени - 1 секунда.
Вот дальше у меня сомнения.
Что лучше:
- Заводить на каждый случай свой счетчик секунд (может быть несколько штук одновременно).
- Или, создать один счетчик и считать секунды по кругу от 0 до 43200(12 часов).
А в основном цикле, по необходимости, брать текущее значения счетчика приплюсовывать к нему нужный интервал и дальше ждать пока новое значение не совпадет со счетчиком.