Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 22.07.2021, 16:36  
vysvg
Частый гость
 
Регистрация: 28.01.2008
Сообщений: 21
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vysvg на пути к лучшему
По умолчанию 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 не устанавливается после входа в прерывание и в результате получаются вложенные прерывания.

Подскажите по каким причинам ЦП может не устанавливать этот бит.
Реклама:
vysvg вне форума  
Непрочитано 05.08.2021, 14:31  
vysvg
Частый гость
 
Регистрация: 28.01.2008
Сообщений: 21
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vysvg на пути к лучшему
По умолчанию Re: PIC32MZ2048

Решено

The keep_interrupts_masked attribute can be used to modify the behavior of an interrupt handler. The attribute keeps interrupts masked for the whole function. Without this attribute, the XC32 compiler re-enables interrupts for as much of the function as it can. By keeping interrupts masked, support for nested interrupts is disables. Users can reenable them as necessary in their own code.
The attribute keep_interrupts_masked can be combined with the interrupt attribute. This attribute causes the Interrupt Service Routine (ISR) prologue code to not re-enable interrupts. Application code may then choose whether and when to re-enable interrupts in the ISR
vysvg вне форума  
Непрочитано 10.11.2021, 11:04  
sciff
Прописка
 
Аватар для sciff
 
Регистрация: 05.05.2008
Сообщений: 115
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
sciff на пути к лучшему
По умолчанию Re: PIC32MZ2048

Насколько знаю надо напремик не делать , попробуй asm и на аsm бит установи, но сдвигая бит
__________________
sciff вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 06:31.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot