Цитата(_Артём_ @ May 23 2012, 13:05)

Обсуждалось например тут:
ссылкаСпасибо за ответ. Но ваша ссылка касается обсуждения исключительно в рамках scmRTOS, авторы которой наделали кучу заголовочных файлов с удобными им макросами. Я же работаю в стандарте C++ IAR v6.0 c библиотекой CMSIS специально для STM32. В этой библиотеке уже заготовлены все возмжные для каждого кристалла обработчики прерываний с заданными именами, начально это пустышки. Юзеру остается только наполнить эти пустые ISR своим конкретным кодом и обьявить этот обработчик дружественным в нужных классах. Других путей я не вижу.
Цитата
Вот ещё пример
Код
class Tuart_class {
public:
#pragma vector=TCE0_OVF_vect
__interrupt static void UsartHandler()
{
unsigned char i=USART_GetChar(&USARTC0);
}
};
В хелпе IAR v6.0 для ARM и Cortex я не нашел управляющего слова
__interrupt. А у директивы
pragma не нашел параметра
vector. Что я делаю не так?
Цитата(ReAl @ May 23 2012, 13:24)

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