Обработчики прерываний К1887ВЕ3Т Keil
Модераторы: ea, Alis, pip, gurzzza, _sva_
-
- Сообщения: 12
- Зарегистрирован: 27 янв 2015, 14:51
- Предприятие: "Океанприбор"
- Откуда: Кировск, ленинградская обл.
- Контактная информация:
Обработчики прерываний К1887ВЕ3Т Keil
Создал проект в Keil на микроконтроллере работает. Теперь задача написать любой обработчик прерывания, но не понятно где прописаны имена обработчиков прерываний. Смотрел файл "START167.A66", но не обнаружил. Для STM32 для меня всё понятно как писать оболочку обработчика прерываний. А вот для К1887ВЕ3Т непонятно. Помогите разобраться! Может какой пример скинете с работой прерываниями.
Re: Обработчики прерываний К1887ВЕ3Т Keil
У Keil довольно неплохой Help, посмотрите там. Обработчикам прерываний Вы сами даете имена, для Keil важен только номер прерывания, что в Assembler, что в C.
Код: Выделить всё
void CAN_OUT_MSG(void) interrupt 0x66
{
P3 = ~0x0066;
printf("\n interrupt 0x66 CAN_OUT_MSG\n");
}
-
- Сообщения: 12
- Зарегистрирован: 27 янв 2015, 14:51
- Предприятие: "Океанприбор"
- Откуда: Кировск, ленинградская обл.
- Контактная информация:
Re: Обработчики прерываний К1887ВЕ3Т Keil
То есть как я понял в строчке "void CAN_OUT_MSG(void) interrupt 0x66" и есть адрес вектора прерывания как если писать на Assembler. Спасибо посмотрю Help. Опыт в Keil у меня только любительский. Вот и осваиваю.
Re: Обработчики прерываний К1887ВЕ3Т Keil
Нет, это номер прерывания, ни в коем случае не вектор.
-
- Сообщения: 12
- Зарегистрирован: 27 янв 2015, 14:51
- Предприятие: "Океанприбор"
- Откуда: Кировск, ленинградская обл.
- Контактная информация:
Re: Обработчики прерываний К1887ВЕ3Т Keil
Спасибо я уже разобрался. Прерывания заработали. Да это порядковый номер прерывания.
void ASC0_Receive(void) interrupt 0x2B
{
P2 ^= 0x4000;
}
void ASC0_Transmit(void) interrupt 0x2A
{
tx_uart_byte('$');
}
void ASC0_Receive(void) interrupt 0x2B
{
P2 ^= 0x4000;
}
void ASC0_Transmit(void) interrupt 0x2A
{
tx_uart_byte('$');
}