ага считать до 18 это первый вариант, который не всегда может сработать, если включены различные прерывания и накладываются друг на друга.
насчет такой точности +-0,05Гц, наверно, не добьешься, учитывая различные погрешности.
Ранее делал так, что изменял компаратор таймера таким образом, что в среднем на осцилле давало ровное значение частоты.
Можно ещё тупо считать по битам
опираясь на тактовую частоту МК.
Поставить делитель и установить компаратор до 100 тиков.