суббота, 16 марта 2013 г.

Параметры функции обработки прерываний ISR() в C

Для обработки прерываний в C мы используем функцию ISR(). В ней необходимо указать с каким прерыванием мы будем иметь дело. Далее перечислены все варианты параметра функции ISR() для микроконтроллеров ATmega328P:
  • INT0_vect - внешнее прерывание 0
  • INT1_vect - внешнее прерывание 0
  • PCINT0_vect - прерывание по изменению состояния нулевой группы выводов
  • PCINT1_vect - прерывание по изменению состояния первой группы выводов
  • PCINT2_vect - прерывание по изменению состояния второй группы выводов
  • WDT_vect - прерывание от сторожевого таймера
  • TIMER2_COMPA_vect - прерывание от таймера/счетчика T2 при совпадении с A
  • TIMER2_COMPB_vect - прерывание от таймера/счетчика T2 при совпадении с B
  • TIMER2_OVF_vect - прерывание по переполнению таймера/счетчика T2
  • TIMER1_CAPT_vect - прерывание от таймера/счетчика T1 по записи
  • TIMER1_COMPA_vect - прерывание от таймера/счетчика T1 при совпадении с A
  • TIMER1_COMPB_vect - прерывание от таймера/счетчика T1 при совпадении с B
  • TIMER1_OVF_vect - прерывание по переполнению таймера/счетчика T1
  • TIMER0_COMPA_vect - прерывание от таймера/счетчика T0 при совпадении с A
  • TIMER0_COMPB_vect - прерывание от таймера/счетчика T0 при совпадении с B
  • TIMER0_OVF_vect - прерывание по переполнению таймера/счетчика T0
  • SPI_STC_vect - прерывание по окончанию передачи модуля SPI
  • USART_RX_vect - прерыванию по окончанию приема модуля USART
  • USART_UDRE_vect - прерывание по опустошению регистра данных модуля USART
  • USART_TX_vect - прерывание по окончанию приема модуля USART
  • ADC_vect - прерывание по завершению преобразования АЦП
  • EE_READY_vect - прерывание по готовности памяти EEPROM
  • ANALOG_COMP_vect - прерывание от аналогового компаратора
  • TWI_vect - прерывание от модуля I2C (TWI)
  • SPM_READY_vect - прерывание по готовности flash памяти
Функция обработки прерывания выглядит следующим образом:

...
ISR(INT0_vect)
{
    //текст программы обработки прерывания
}
...