Ale3000 (13.02.2013 11:48, просмотров: 360) ответил MegaJohn на надо через два дефайна. типо так
Не работает. Я пишу:
#define USART_RS0 USARTC0
...
#define USART_vect USART_RS0 ## _DRE_vect
#pragma vector=USART_vect
__interrupt void Func()
{
USART_RS0.DATA=1;
}
Хочу получить после препроцессора:
#pragma vector=USARTC0_vect
__interrupt void Func()
{
USARTC0.DATA=1;
}
Потом только в ОДНОМ месте меняю USARTC0 на USARTD1:
#define USART_RS0 USARTD1
и хочу получить
#pragma vector=USARTD1_vect
__interrupt void Func()
{
USARTD1.DATA=1;
}
Надоело при смене UARTa пробегаться по всему коду и править названия уартов. Везде в регистрах легко обхожусь дефайнами, но в векторах прерывания дефайн не прокатывает.