Нет, тут я решительно ничего не понял. Посоветую сократить тестовый код до безобразия, оставив только инициализацию таймера, его запуск, и обработчик прерывания в части общения с таймером - тогда можно будет все выловить, а не гадать на разрозненных кучках кофейной гущи