QUOTE (Harvester @ Aug 25 2015, 11:20)

3. Использование какого-либо аппаратного таймера;
4. Обязать разработчиков основной программы вызывать функцию взятия отсчетов с заданной периодичностью.
Поскольку Вы уже заняли в "библиотеке" какие-то IO и видимо жестко, то так-же занять еще и таймер уже не страшно. А так, если в совсем общем случае, то "4".
Ну а правильный это "5", который назван постом выше.