PIC32MZ2048
Product Version: MPLAB X IDE v5.50
Pic32MZ2048 в описании прерываний Section 8 Interrupts в пункте 8.3 есть такой текст
Ядро процессора выполняет выборку представленной векторной информации между этапами “E” и “M” конвейера. Если уровень приоритета вектора, представленный ядру, превышает текущий приоритет, указанный битами приоритета прерывания ЦП, IPL‹2:0› (Статус‹12:10›), прерывание обслуживается; в противном случае оно будет оставаться в ожидании, пока текущий приоритет не станет меньше приоритета прерывания. При обслуживании прерывания ядро процессора помещает Счетчик программ в регистр Счетчика программ исключений (EPC) в ЦП и устанавливает бит уровня исключения (EXL) (Статус‹1›) в ЦП. Бит EXL отключает дальнейшие прерывания до тех пор, пока приложение явно не включит их повторно, очистив бит EXL, а затем оно разветвляется на векторный адрес, вычисленный по представленному векторному номеру.
Есть проблема, бит EXL не устанавливается после входа в прерывание и в результате получаются вложенные прерывания.
Подскажите по каким причинам ЦП может не устанавливать этот бит.
|