PIC32MZ – прерывания (заметки)

Views: 474


Виды формирования запоминая контекста при входе в прерывания.

Компилятор представляет три варианта

AUTO – когда запоминания места возврата из подпрограммы возложено на программу, т.е все создается программно. Этот метод является самым меленным.

SRS – это когда для всего этого используется теневые регистры (самый быстрый способ), все происходит на аппаратном уровне и пользователь может может указать вот это прерывание выполнять быстро.

SOFT – когда выбор возлагается на компилятор и компилятор сам определяет возможность использовать SRS или когда вставлять макрос обработки.

Если с AUTO и SOFT – проблем не предвидеться, то для использования теневых регистров необходимо понимать, что делаем.

  1. Для управления механизмом SRS  предназначен регистр PRISS. В этом регистре можно выбрать возможность использования для каждого уровня приоритета механизма SRS. В битах PRI1SS – PRI7SS мы можем установить на каком уровне будет работать механизм SRS в выбрано приоритете. По умолчанию все значения равны нулю это значит, что механизм не используется. Если необходимо, например, для приоритета 6 использовать механизм SRS, то значение должно быть отлично от нуля. Значение может быть в пределах 1-7, это уровень приоритета для вызова механизма SRS. Например установит его на 6.
  2. Далее, нам, необходимо обрабатывать прерывания от DMA, канал 1. Мы установит уровень его приоритета 6 (субприоритет 3).
  3. Для вызова прерывания будем использовать описание функции в таком виде void __ISR (_DMA1_VECTOR, IPL6SRS) __DMA1Interrupt (void)

Настройка PRISS

    PRISSbits.PRI6SS = 6;

Настройка прерываний модуля DMA, канал 1

    IPC33bits.DMA1IP=6;     // 6 уровень приоритета
    IPC33bits.DMA1IS=1;     // субприоритет 1
    IFS4bits.DMA1IF=0;      // сбросить флаг прерывания
    IEC4bits.DMA1IE=1;      // разрешить прерывание

Описание функции обработки прерывания

void __ISR (_DMA1_VECTOR, IPL6SRS) __DMA1Interrupt (void)
{

……


Это может быть интересно


  • CLUBBEST-50-LightCLUBBEST-50-Light
    Views: 302 CLUBBEST-50-LIGHT   Зміст Короткий опис проекту. 1 Опис схемотехніки візуалізатора музики. 2 Аудіо вхід. 3 MCU. 4 Цифровий вихід. 5 Схема живлення MCU. 6 Складання пристрою. 7 Список …
  • MPLAB® Harmony – или как это просто! Часть 2.MPLAB® Harmony – или как это просто! Часть 2.
    Views: 2716 Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V24.0 PROAltium Designer my Libraries, Project templates, System settings by Catcatcat V24.0 PRO
    Views: 299 Назвемо цей варіант поновлення для професіоналів і не тільки. Що нового? 1. Повністю змінено структуру параметрів бази даних компонента. Це дозволило повноцінної роботи Актив ВОМ. Ви відразу отримуєте …
  • Altium Designer first projectAltium Designer first project
    Views: 359 Эта статья подразумевает, что у вас установлен и настроен Altium Designer как описано в статье  Altium Designer my setup system and project structure.  Обратите внимание! Библиотека постоянно обновляется, …
  • Проект с использованием MCC часть 07Проект с использованием MCC часть 07
    Views: 1029 Модуль PWM – широтно импульсная модуляция (ШИМ). ПИК контроллеры часто на борту имеют модули ШИМ. На их основе строятся многие узлы управления электро приводами. В нашем варианте мы …
  • PIC18 – модуль DMAPIC18 – модуль DMA
    Views: 1206 Введение   Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной  обработки …
  • PIC18F25K42 – v. A001 – выявленные баги.PIC18F25K42 – v. A001 – выявленные баги.
    Views: 620 Модуль I2C Не работает при использовании в стандартной конфигурации MCC. Требует особой нестандартной конфигурации и управления для нормальной работы. Обойти Обход проблемы возможен библиотека см статью. Модуль ADC2 На …
  • Ссылки на интересные источникиСсылки на интересные источники
    Views: 877 Сбор 3D моделей от André L’Hérault конденсаторы, резисторы, индуктивности dropbox IPC-SM-782 Surface Mount Design and Land Pattern Standard Видео уроки по Altium designer Alexey Sabunin https://www.youtube.com/channel/UCG7N5CqXpyK8nQjr1EmMgng Сергей Булавинов https://www.youtube.com/channel/UCISAMXRnN_Qw9UTjUwZI1Jw Robert Feranec https://www.youtube.com/user/matarofe …
  • Простой цифровой милливольтметр постоянного токаПростой цифровой милливольтметр постоянного тока
    Views: 4122 Простой цифровой вольтметр постоянного тока. Три диапазона измерений с автоматическим переключением 1 – 0,001 – 0,999 V, 2 – 0,01-9,99 V, 3 – 0,1-99,9. Четыре управляемых выхода с возможностью задания функции контроля …
  • AD9833 – Programmable Waveform Generator – part twoAD9833 – Programmable Waveform Generator – part two
    Views: 1781 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …



Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее