Здравствуйте. У меня та же проблема, что у автора.. разбираюсь с прерываниями..
Собсно, заношу в программу код:
__irq __arm void IRQ_Handler1() {
AT91C_BASE_AIC->AIC_EOICR = 0;
}При компиляции выдает ошибки:
main.c(52): error: #40: expected an identifier
main.c(52): error: #1021: __irq functions must return no result
При занесении:
__irq __arm void IRQ_Switch() {
(void (*)(void))(AT91C_BASE_AIC->AT91C_AIC_IVR)();
AT91C_BASE_AIC->AIC_EOICR = 0;
}
void Handler1() {
}
void Handler2() {
}к ним добавляется ошибка:
main.c(53): error: #134: expected a field name
Таким образом, это навевает следующий вопрос: можно ли вобще таким образом работать в Keil (именно в нем я и работаю

), а если можно - как избавиться от этих ошибок... Если нет - то как с ними работать..
Возможно, если бы знающие люди выложили более полный код (пример) и вопросы бы отпали
P.S. Эх.. старый добрый 51.. как все было просто