Цитата
вот с этим и вопрос, как объявить обработчик прерывания
В соответствии с мануалом на компилятор и HAL выбранного вами процессора.
Для AVR обработчик прерывания объявляется вот так.
Код
ISR( TIM0_OVF_vect )
{
}
В этом обработчкие вы вольны делать всё что хотите. В том числе вызвать либо статический метод вашего шаблонного полностью статического класса. Либо инстанциировать класс и вызвать не статический метод.
Цитата
а что делать с обработчиком прерывания? как получить статический метод шаблонного класса?
Из обработчика прерывания вы можете вызвать любой метод, хоть статичный хоть нет.
Код
ISR( TIM0_OVF_vect )
{
SomeInstance.CallFromISR();
SomeFullyStaticClass::SomeStaticMethod();
}
Вы немного путаетесь, вам надо теорию почитать что есть шаблон что статик что не статик.
Шаблон не обязан быть стататиком.
Всё что было сказано выше про виртуальные функции подразумевает не статичные методы и работу именно с экземплярами класса по ссылке(указателю) на родительский класс.
Это называется полиморфизм. Опять же надо теорию почитать.
The truth is out there...