2.1.7. Прерывания

(Руководство разработчика по микроконтроллерам семейства HCS08)

Прерывание — это внешнее событие, вызывающее изменение порядка выполнения команд программы. Реакцией микроконтроллера на прерывание является переход к исполнению специальной подпрограммы. Однако переход к этой подпрограмме вызывается аппаратными средствами, а не программными, как это бывает с обычными подпрограммами.

В МК семейства HCS08 может быть до 32 источников прерываний, каждый из которых имеет собственный вектор прерывания. Вектор прерывания — это адрес, с которого начинается подпрограмма, обслуживающая прерывание (ISR). Эта подпрограмма вызывается, если в ЦП поступил запрос на прерывание и если соблюдены следующие условия:

  1. Глобальная маска прерывания I сброшена в 0, т.е. прерывание центрального процессора разрешено.
  2. Разрешено прерывание от периферийного устройства, которое выставило запрос на прерывание.

Команда программного прерывания SWI — специальная команда, вызывающая прерывание независимо от состояния маски прерываний I. Таким образом, прерывания по команде SWI нельзя запретить, поэтому эти прерывания называют немаскируемыми.

На Рис.2.9 приведена упрощенная схема подсистемы прерываний МК HCS08. Каждый источник прерывания имеет в регистре управления соответствующего периферийного модуля бит разрешения прерывания и флаг запроса на прерывание. Эти биты складываются согласно логике И. На выходе элемента И формируется логическая 1 только в том случае, если выставлен запрос на прерывание и это прерывание разрешено. Каждому источнику запроса на прерывание соответствует свой элемент И. Все выходы элементов И соединены со входами элемента ИЛИ, на выходе которого формируется логическая 1, если в текущий момент времени существует хотя бы один разрешенный запрос на прерывание. Сигнал с выхода элемента ИЛИ логически умножается с инверсией глобальной маски прерывания I и поступает в центральный процессор. Нетрудно видеть, что сигнал запроса на прерывание в ЦП будет сформирован, если глобальная маска прерываний I сброшена в 0, появился флаг запроса прерывания от любого источника и прерывание от этого источника разрешены.

Рис.2.9. Упрощенная структура подсистемы прерывания МК.

Если несколько устройств одновременно выставили запросы на прерывание (на выходах нескольких элементов И установлены единицы), то подпрограммы прерывания вызываются микроконтроллером в соответствии с их приоритетами. Первой исполняется подпрограмма для прерывания с наивысшим приоритетом. Затем вызываются следующие подпрограммы в порядке приоритетов запросов, которые в текущий момент времени присутствуют в подсистеме прерывания.

В МК HCS08 каждому запросу на прерывание присвоен определенный приоритет, который нельзя изменить посредством программных установок. О такой подсистеме прерывания говорят, что это система с жестким распределением приоритетов. Для удобства, все источники запросов на прерывание и вектора, им соответствующие, пронумерованы (см. Табл.2.1). Наивысший приоритет присвоен вектору сброса RESET (вектор 0), вектор с номером 31 имеет самый низкий приоритет. Таким образом, первым обслуживается вектор прерывания с низшим номером, а затем прерывания с более высокими номерами. Но в любом случае, будут исполнены подпрограммы прерывания для всех запросов, которые присутствуют и прерывания для них разрешены.

Если запрос на прерывание с выхода подсистемы прерывания (Рис.2.9) поступил, то ЦП начинает выполнение стандартной процедуры перехода к подпрограмме прерывания:

  1. Завершается выполнение текущей команды.
  2. Адрес следующей команды, который находится в счетчике команд PC, записывается в стек — сначала младший байт, затем старший.
  3. Индексный регистр X записывается в стек.
  4. Аккумулятор А записывается в стек.
  5. Регистр состояния CCR записывается в стек.
  6. Запрещаются все прерывания посредством установки маски I в 1.
  7. Вектор прерывания, который соответствует источнику обслуживаемого запроса, загружается в счетчик команд PC.
  8. Начинает исполняться подпрограмма прерывания ISR, ее начальный адрес равен вектору прерывания.

При переходе в подпрограмму прерывания регистр H не записывается в стек автоматически. Это сделано для программной совместимости HCS08 с устройствами, ранее созданными на HC05. Поэтому в начале подпрограммы прерывания следует записать значение регистра H в стек, а перед возвратом в основную программу — восстановить его из стека.

Последней командой каждой подпрограммы прерывания должна быть команда RTI, исполнение которой приводит к возврату в основную программу. Исполнение основной программы продолжится с места, в котором произошло прерывание.

При вызове команды RTI микроконтроллер выполняет следующие действия:

  1. Восстанавливается (считывается) значение регистра признаков CCR из стека.
  2. Восстанавливается значение аккумулятора А из стека.
  3. Восстанавливается значение регистра X из стека.
  4. Восстанавливается из стека адрес возврата в основную (прерванную) программу.
  5. Происходит возврат (переход) в то место основной программы, в котором произошло прерывание.

Ниже приведены таблицы источников прерываний и номеров векторов прерываний (Табл.2.1...2.6) для некоторых моделей МК семейства HCS08.

Таблица2.1. Вектора прерываний для МК серии AW

Номер вектораАдресИсточник запросаИмя вектора в CФлаг запросаБит маски
00xFFFERESETVectorNumber_Vreset
10xFFFCSWIVectorNumber_Vswi
20xFFFAIRQVectorNumber_VirqIRQSC:IRQFIRQSC:IRQIE
30xFFF8LVDVectorNumber_VlvdSPMSC1:LVDFSPMSC1:LVDIE
40xFFF6ICGVectorNumber_VicgICGS1:ICGIFICGS2:LOLRE
ICGS2:LOCRE
50xFFF4TPM1 канал 0VectorNumber_Vtpm1ch0TMP1C0SC:CH0FTMP1C0SC:CH0IE
60xFFF2TPM1 канал 1VectorNumber_Vtpm1ch1TMP1C1SC:CH1FTMP1C1SC:CH1IE
70xFFF0TPM1 канал 2VectorNumber_Vtpm1ch2TMP1C2SC:CH2FTMP1C2SC:CH2IE
80xFFEETPM1 канал 3VectorNumber_Vtpm1ch3TMP1C3SC:CH3FTMP1C3SC:CH3IE
90xFFECTPM1 канал 4VectorNumber_Vtpm1ch4TMP1C4SC:CH4FTMP1C4SC:CH4IE
100xFFEATPM1 канал 5VectorNumber_Vtpm1ch5TMP1C5SC:CH5FTMP1C5SC:CH5IE
110xFFE8TPM1 переполнениеVectorNumber_Vtpm1ovfTMP1SC:TOFTMP1SC:TOIE
120xFFE6TPM2 канал 0VectorNumber_Vtpm2ch0TMP2C0SC:CH0FTMP2C0SC:CH0IE
130xFFE4TPM2 канал 1VectorNumber_Vtpm2ch1TMP2C1SC:CH1FTMP2C1SC:CH1IE
140xFFE2TPM2 переполнениеVectorNumber_Vtpm2ovfTMP2SC:TOFTMP2SC:TOIE
150xFFE0SPIVectorNumber_VspiSPI1S:SPRF
SPI1S:MODF
SPI1S:SPTEF
SPI1C1:SPIE
SPI1C1:SPIE
SPI1C1:SPTIE
160xFFDESCI1 errorVectorNumber_Vsci1errSCI1S1:OR
SCI1S1:NF
SCI1S1:FE
SCI1S1:PF
SCI1C3:ORIE
SCI1C3:NFIE
SCI1SC3:FEIE
SCI1C3:PFIE
170xFFDCSCI1 RXVectorNumber_VscilrxSCI1S1:IDLE
SCI1S1:RDRF
SCI1C2:ILIE
SCI1C2:RIE
180xFFDASCI1 TXVectorNumber_VsciltxSCI1S1:TDRE
SCI1S1:TC
SCI1C2:TIE
SCI1C2:TCIE
190xFFD8SCI2 ошибкаVectorNumber_Vsci2errSCI2S1:OR
SCI2S1:NF
SCI2S1:FE
SCI2S1:PF
SCI2S1:OR
SCI2S1:NF
SCI2S1:FE
SCI2S1:PF
200xFFD6SCI2 RXVectorNumber_Vsci2rxSCI2S1:IDLE
SCI1S1:RDRF
SCI2C2:ILIE
SCI1C2:RIE
210xFFD4SCI2 TXVectorNumber_Vsci2txSCI2S1:TDRE
SCI2S1:TC
SCI2C2:TIE
SCI2C2:TCIE
220xFFD2KBI1VectorNumber_Vkeyboard1KBI1SC:KBFKBI1SC:KBIE
230xFFD0ADCVectorNumber_VadcADCSC1:COCOADCSC1:AIEN
240xFFCEI2CVectorNumber_ViicIIC1S:IICIFIIC1C:IICIE
250xFFCCRTIVectorNumber_VrtiSRTISC:RTIFSRTISC:RTIE
260xFFCAНе используется
270xFFC8Не используется
280xFFC6Не используется
290xFFC4Не используется
300xFFC2Не используется
310xFFC0Не используется

Таблица2.2. Вектора прерываний для МК серий DN, DV и DZ

Номер вектораАдресИсточник запросаИмя вектора в CФлаг запросаБит маски
00xFFFERESETVectorNumber_Vreset
10xFFFCSWIVectorNumber_Vswi
20xFFFAIRQVectorNumber_VirqIRQSC:IRQFIRQSC:IRQIE
30xFFF8LVDVectorNumber_VlvdSPMSC1:LVDFSPMSC1:LVDIE
40xFFF6MCGVectorNumber_VlolMCGSC:LOLSMCGC3
50xFFF4TPM1 канал 0VectorNumber_Vtpm1ch0TMP1C0SC:CH0FTMP1C0SC:CH0IE
60xFFF2TPM1 канал 1VectorNumber_Vtpm1ch1TMP1C1SC:CH1FTMP1C1SC:CH1IE
70xFFF0TPM1 канал 2VectorNumber_Vtpm1ch2TMP1C2SC:CH2FTMP1C2SC:CH2IE
80xFFEETPM1 канал 3VectorNumber_Vtpm1ch3TMP1C3SC:CH3FTMP1C3SC:CH3IE
90xFFECTPM1 канал 4VectorNumber_Vtpm1ch4TMP1C4SC:CH4FTMP1C4SC:CH4IE
100xFFEATPM1 канал 5VectorNumber_Vtpm1ch5TMP1C5SC:CH5FTMP1C5SC:CH5IE
110xFFE8TPM1 переполнениеVectorNumber_Vtpm1ovfTPM1SC:TOFTMP1SC:TOIE
120xFFE6TPM2 канал 0VectorNumber_Vtpm2ch0TMP2C0SC:CH0FTMP2C0SC:CH0IE
130xFFE4TPM2 канал 1VectorNumber_Vtpm2ch1TMP2C1SC:CH1FTMP2C1SC:CH1IE
140xFFE2TPM2 переполнениеVectorNumber_Vtpm2ovfTMP2SC:TOFTMP2SC:TOIE
150xFFE0SPIVectorNumber_VspiSPI1S:SPRF
SPI1S:MODF
SPI1S:SPTEF
SPI1C1:SPIE
SPI1C1:SPIE
SPI1C1:SPTIE
160xFFDESCI1 ошибкаVectorNumber_Vsci1errSCI1S1:OR
SCI1S1:NF
SCI1S1:FE
SCI1S1:PF
SCI1C3:ORIE
SCI1C3:NFIE
SCI1SC3:FEIE
SCI1C3:PFIE
170xFFDCSCI1 RXVectorNumber_VscilrxSCI1S1:IDLE
SCI1S1:RDRF
SCI1C2:ILIE
SCI1C2:RIE
180xFFDASCI1 TXVectorNumber_VsciltxSCI1S1:TDRE
SCI1S1:TC
SCI1C2:TIE
SCI1C2:TCIE
190xFFD8SCI2 ошибкаVectorNumber_Vsci2errSCI2S1:OR
SCI2S1:NF
SCI2S1:FE
SCI2S1:PF
SCI2C3:ORIE
SCI2C3:NFIE
SCI2C3:FEIE
SCI2C3:PFIE
200xFFD6SCI2 RXVectorNumber_Vsci2rxSCI2S1:IDLE
SCI2S1:RDRF
SCI2S2:LBKIF
SCI2S2:RXEDGIF
SCI2C2:ILIE
SCI1C2:RIE
SCI2BDH:LBKIE
SCI2BDH:RXEDGIE
210xFFD4SCI2 TXVectorNumber_Vsci2txSCI2S1:TDRE
SCI2S1:TC
SCI2C2:TIE
SCI2C2:TCIE
220xFFD2Прерывание портаVectorNumber_VportPTASC:PTAIF
PTBSC:PTBIF
PTCSC:PTCIF
PTASC:PTAIE
PTBSC:PTBIE
PTCSC:PTCIE
230xFFD0ADCVectorNumber_VadcADCSC1:COCOADCSC1:AIEN
240xFFCEI2CVectorNumber_ViicIIC1S:IICIFIIC1C:IICIE
250xFFCCRTCVectorNumber_VrtiRTCSC:RTIFRTCSC:RTIE
260xFFCAНе используется
..................
310xFFC0Не используется

Таблица2.3. Вектора прерываний для МК серий GB и GT

Номер вектораАдресИсточник запросаИмя вектора в CФлаг запросаБит маски
00xFFFERESETVectorNumber_Vreset
10xFFFCSWIVectorNumber_Vswi
20xFFFAIRQVectorNumber_VirqIRQSC:IRQFIRQSC:IRQIE
30xFFF8LVDVectorNumber_VlvdSPMSC1:LVDFSPMSC1:LVDIE
40xFFF6ICGVectorNumber_VicgICGS1:ICGIFICGS2:LOLRE
ICGS2:LOCRE
50xFFF4TPM1 канал 0VectorNumber_Vtpm1ch0TMP1C0SC:CH0FTMP1C0SC:CH0IE
60xFFF2TPM1 канал 1VectorNumber_Vtpm1ch1TMP1C1SC:CH1FTMP1C1SC:CH1IE
70xFFF0TPM1 канал 2VectorNumber_Vtpm1ch2TMP1C2SC:CH2FTMP1C2SC:CH2IE
80xFFEETPM1 переполнениеVectorNumber_Vtpm1ovfTMP1SC:TOFTMP1SC:TOIE
90xFFECTPM1 канал 0VectorNumber_Vtpm2ch0TMP2C0SC:CH0FTMP2C0SC:CH0IE
100xFFEATPM1 канал 1VectorNumber_Vtpm2ch1TMP2C1SC:CH1FTMP2C1SC:CH1IE
110xFFE8TPM2 канал 2VectorNumber_Vtpm2ch2TMP2C2SC:CH2FTMP2C2SC:CH2IE
120xFFE6TPM2 канал 3VectorNumber_Vtpm2ch3TMP2C3SC:CH3FTMP2C3SC:CH3IE
130xFFE4TPM2 канал 4VectorNumber_Vtpm2ch4TMP2C4SC:CH4FTMP2C4SC:CH4IE
140xFFE2TPM2 переполнениеVectorNumber_Vtpm2ovfTMP2SC:TOFTMP2SC:TOIE
150xFFE0SPIVectorNumber_VspiSPI1S:SPRF
SPI1S:MODF
SPI1S:SPTEF
SPI1C1:SPIE
SPI1C1:SPIE
SPI1C1:SPTIE
160xFFDESCI1 errorVectorNumber_Vsci1errSCI1S1:OR
SCI1S1:NF
SCI1S1:FE
SCI1S1:PF
SCI1C3:ORIE
SCI1C3:NFIE
SCI1SC3:FEIE
SCI1C3:PFIE
170xFFDCSCI1 RXVectorNumber_VscilrxSCI1S1:IDLE
SCI1S1:RDRF
SCI1C2:ILIE
SCI1C2:RIE
180xFFDASCI1 TXVectorNumber_VsciltxSCI1S1:TDRE
SCI1S1:TC
SCI1C2:TIE
SCI1C2:TCIE
190xFFD8SCI2 errorVectorNumber_Vsci2errSCI2S1:OR
SCI2S1:NF
SCI2S1:FE
SCI2S1:PF
SCI2C3:ORIE
SCI2C3:NFIE
SCI2C3:FEIE
SCI2C3:PFIE
200xFFD6SCI2 RXVectorNumber_Vsci2rxSCI2S1:IDLE
SCI1S1:RDRF
SCI2C2:ILIE
SCI1C2:RIE
210xFFD4SCI2 TXVectorNumber_Vsci2txSCI2S1:TDRE
SCI2S1:TC
SCI2C2:TIE
SCI2C2:TCIE
220xFFD2KBI1VectorNumber_Vkeyboard1KBI1SC:KBFKBI1SC:KBIE
230xFFD0ATDVectorNumber_Vatd1ATD1SC:CCFATD1SC:ATDIE
240xFFCEI2CVectorNumber_ViicIIC1S:IICIFIIC1C:IICIE
250xFFCCRTIVectorNumber_VrtiSRTISC:RTIFSRTISC:RTIE
260xFFCAНе используется
270xFFC8Не используется
280xFFC6Не используется
290xFFC4Не используется
300xFFC2Не используется
310xFFC0Не используется

Таблица2.4. Вектора прерываний для МК серии QD

Номер вектораАдресИсточник запросаИмя вектора в CФлаг запросаБит маски
00xFFFERESETVectorNumber_Vreset
10xFFFCSWIVectorNumber_Vswi
20xFFFALVDVectorNumber_VlvdSPMSC1:LVDFSPMSC1:LVDIE
30xFFF8IRQVectorNumber_VirqIRQSC:IRQFIRQSC:IRQIE
40xFFF6Не используется
50xFFF4TPM1 канал 0VectorNumber_Vtpm1ch0TMP1C0SC:CH0FTMP1C0SC:CH0IE
60xFFF2TPM1 канал 1VectorNumber_Vtpm1ch1TMP1C1SC:CH1FTMP1C1SC:CH1IE
70xFFF0TPM1 переполнениеVectorNumber_Vtpm1ovfTMP1SC:TOFTMP2C0SC:CH0IE
80xFFEETPM2 канал 0VectorNumber_Vtpm2ch0TMP2C0SC:CH0FTMP1SC:TOIE
90xFFECНе используется
100xFFEATPM2 переполнениеVectorNumber_Vtpm2ovfTPM2SC:TOFTPM2SC:TOIE
110xFFE8Не используется
120xFFE6Не используется
130xFFE4Не используется
140xFFE2Не используется
150xFFE0Не используется
160xFFDEНе используется
170xFFDCНе используется
180xFFDAKBIVectorNumber_VkeyboardKBISC:KBFKBISC:KBIE
190xFFD8ADCVectorNymber_VadcADCSC1:COCOADCSC1:AIEN
200xFFD6Не используется
210xFFD4Не используется
220xFFD2Не используется
230xFFD0RTIVectorNumber_VrtiSRTISC:RTIFSRTISC:RTIE
240xFFCEНе используется
250xFFCCНе используется
260xFFCAНе используется
270xFFC8Не используется
280xFFC6Не используется
290xFFC4Не используется
300xFFC2Не используется
310xFFC0Не используется

Таблица2.5. Вектора прерываний для МК серии QG

Номер вектораАдресИсточник запросаИмя вектора в CФлаг запросаБит маски
00xFFFERESETVectorNumber_Vreset
10xFFFCSWIVectorNumber_Vswi
20xFFFAIRQVectorNumber_VlvdSPMSC1:LVDFSPMSC1:LVDIE
30xFFF8LVDVectorNumber_VirqIRQSC:IRQFIRQSC:IRQIE
40xFFF6Не используется
50xFFF4TPMканал 0VectorNumber_Vtpm1ch0TMP1C0SC:CH0FTMP1C0SC:CH0IE
60xFFF2TPM канал 1VectorNumber_Vtpm1ch1TMP1C1SC:CH1FTMP1C1SC:CH1IE
70xFFF0TPM переполнениеVectorNumber_Vtpm1ovfTMP1SC:TOFTMP2C0SC:CH0IE
80xFFEEНе используется
90xFFECНе используется
100xFFEAНе используется
110xFFE8Не используется
120xFFE6MTIM переполнениеVectorNumber_VmtimMTIMSC:TOFMTIMSC:TOIE
130xFFE4SPIVectorNumber_VspiSPIS:SPRF
SPIS:MODF
SPIS:SPTEF
SPIC1:SPIE
SPIC1:SPIE
SPIC1:SPTIE
140xFFE2SCI ошибкаVectorNumber_VscierrSCIS1:OR
SCIS1:NF
SCIS1:FE
SCIS1:PF
SCIC3:ORIE
SCIC3:NFIE
SCIC3:FEIE
SCIC3:PFIE
150xFFE0SCI RXVectorNumber_VscirxSCIS1:IDLE
SCIS1:RDRF
SCIC2:ILIE
SCIC2:RIE
160xFFDESCI TXVectorNumber_VscitxSCIS1:TDRE
SCIS1:TC
SCIC2:TIE
SCIC2:TCIE
170xFFDCI2CVectorNumber_ViicIICS:IICIFIICC:IICIE
180xFFDAKBIVectorNumber_VkeyboardKBISC:KBFKBISC:KBIE
190xFFD8ADCVectorNymber_VadcADCSC1:COCOADCSC1:AIEN
200xFFD6ACMPVectorNymber_VacmpACMPSC:ACFACMPSC:ACIE
210xFFD4Не используется
220xFFD2Не используется
230xFFD0RTIVectorNumber_VrtiSRTISC:RTIFSRTISC:RTIE
240xFFCEНе используется
250xFFCCНе используется
260xFFCAНе используется
270xFFC8Не используется
280xFFC6Не используется
290xFFC4Не используется
300xFFC2Не используется
310xFFC0Не используется

Таблица2.6. Вектора прерываний для МК серии QE

Номер вектораАдресИсточник запросаИмя вектора в CФлаг запросаБит маски
00xFFFERESETVectorNumber_Vreset
10xFFFCSWIVectorNumber_Vswi
20xFFFAIRQVectorNumber_VirqIRQSC:IRQFIRQSC:IRQIE
30xFFF8LVDVectorNumber_VlvdSPMSC1:LVDFSPMSC1:LVDIE
40xFFF6TMP1 канал 0VectorNumber_Vtpm1ch0TPM1C0SC:CH0FTPM1C0SC:CH0IE
50xFFF4TPM1 канал 1VectorNumber_Vtpm1ch1TPM1C1SC:CH1FTPM1C1SC:CH1IE
60xFFF2TPM1 канал 2VectorNumber_Vtpm1ch2TPM1C2SC:CH2FTPM1C2SC:CH2IE
70xFFF0TPM1 переполнениеVectorNumber_Vtpm1ovfTPM1SC:TOFTPM1SC:TOIE
80xFFEETPM2 канал 0VectorNumber_Vtpm2ch0TPM2C0SC:CH0FTPM2C0SC:CH0IE
90xFFECTPM2 канал 1VectorNumber_Vtpm2ch1TPM1C4SC:CH4FTPM1C4SC:CH4IE
100xFFEATPM2 канал 2VectorNumber_Vtpm2ch2TPM1C5SC:CH5FTPM1C5SC:CH5IE
110xFFE8TPM2 переполнениеVectorNumber_Vtpm2ovfTPM1SC:TOFTPM1SC:TOIE
120xFFE6SPI2VectorNumber_Vspi2SPI2S:SPRF
SPI2S:MODF
SPI2S:SPTEF
SPI2C1:SPIE
SPI2C1:SPIE
SPI2C1:SPTIE
130xFFE4SPI1VectorNumber_Vspi1SP1IS:SPRF
SPI1S:MODF
SPI1S:SPTEF
SPI1C1:SPIE
SPI1C1:SPIE
SPI1C1:SPTIE
140xFFE2SCI1 ошибкаVectorNumber_Vsci1errSCI1S1:OR
SCI1S1:NF
SCI1S1:FE
SCI1S1:PF
SCI1C3:ORIE
SCI1C3:NFIE
SCI1C3:FEIE
SCI1C3:PFIE
150xFFE0SCI1 RXVectorNumber_Vsci1rxSPI2S:SPRF
SPI2S:MODF
SPI2S:SPTEF
SPI2C1:SPIE
SPI2C1:SPIE
SPI2C1:SPTIE
160xFFDESCI1 TXVectorNumber_Vsci1txSCI1S1:TDRE
SCI1S1:TC
SCI1C2:TIE
SCI1C2:TCIE
170xFFDCI2CVectorNumber_ViicxIICS:IICIFIICC:IICIE
180xFFDAKBIVectorNumber_VkeyboardKBISC:KBFKBISC:KBIE
190xFFD8ADCVectorNumber_VadcADCSC1:COCOADCSC1:AIEN
200xFFD6ACMPVectorNumber_Vsci2rxACMPSC:ACFACMPSC:ACIE
210xFFD4SCI2 ошибкаVectorNumber_Vsci2errSCI2S1:OR
SCI2S1:NF
SCI2S1:FE
SCI2S1:PF
SCI2C3:ORIE
SCI2C3:NFIE
SCI2C3:FEIE
SCI2C3:PFIE
220xFFD2SCI2 RXVectorNumber_Vski2rxSCI2S1:IDLE
SCI2S1:RDRF
SCI2S2:LBKIF
SCI2S2:RXEDGIF
SCI2C2:ILIE
SCI2C2:RIE
SCI2BDH:LBKIE
SCI2BDH:RXEDGIE
230xFFD0SCI2 TXVectorNumber_Vsci2txSCI2S1:TDRE
SCI2S1:TC
SCI2C2:TIE
SCI2C2:TCIE
240xFFCERTCVectorNumber_VrtcRTCSC:RTIFRTCSC:RTIE
250xFFCCTPM3 канал 0VectorNumber_Vtpm3ch0TPM3C0SC:CH0FTPM3C0SC:CH0IE
260xFFCATPM3 канал 1VectorNumber_Vtpm3ch1TPM3C1SC:CH1FTPM3C1SC:CH1IE
270xFFC8TPM3 канал 2VectorNumber_Vtpm3ch2TPM3C2SC:CH2FTPM3C2SC:CH2IE
280xFFC6TPM3 канал 3VectorNumber_Vtpm3ch3TPM3C3SC:CH3FTPM3C3SC:CH3IE
290xFFC4TPM3 канал 4VectorNumber_Vtpm3ch4TPM3C4SC:CH4FTPM3C4SC:CH4IE
300xFFC2TPM3 канал 5VectorNumber_Vtpm3ch5TPM3C5SC:CH5FTPM3C5SC:CH5IE
310xFFC0TPM3 переполнениеVectorNumber_Vtpm3ovfTPM3SC:TOFTPM3SC:TOIE

2.1.7.1. Время перехода на подпрограмму прерывания

Время перехода на подпрограмму прерывания — это временной интервал, который отсчитывается с момента установки флага запроса до момента начала выполнения первой команды подпрограммы прерывания.

Этот временной интервал состоит из времени, необходимого для завершения выполнения текущей команды, определения наличия прерывания, записи регистров PC, X, A и CCR в стек, определения источника прерывания, загрузки вектора этого источника в PC и выборки первой команды подпрограммы прерывания из памяти.

Для МК HCS08 минимальное время перехода на подпрограмму прерывания составляет 11 периодов частоты внутренней шины BUSCLK (соответствует времени вызова команды SWI), а максимальное — 22 периода BUSCLK (если прерывание возникло в момент вызова команды SWI).

Электронные компоненты Freescale >>>
Подробнее о компании Freescale >>>