Visits: 437
Виды формирования запоминая контекста при входе в прерывания.
Компилятор представляет три варианта
AUTO – когда запоминания места возврата из подпрограммы возложено на программу, т.е все создается программно. Этот метод является самым меленным.
SRS – это когда для всего этого используется теневые регистры (самый быстрый способ), все происходит на аппаратном уровне и пользователь может может указать вот это прерывание выполнять быстро.
SOFT – когда выбор возлагается на компилятор и компилятор сам определяет возможность использовать SRS или когда вставлять макрос обработки.
Если с AUTO и SOFT – проблем не предвидеться, то для использования теневых регистров необходимо понимать, что делаем.
- Для управления механизмом SRS предназначен регистр PRISS. В этом регистре можно выбрать возможность использования для каждого уровня приоритета механизма SRS. В битах PRI1SS – PRI7SS мы можем установить на каком уровне будет работать механизм SRS в выбрано приоритете. По умолчанию все значения равны нулю это значит, что механизм не используется. Если необходимо, например, для приоритета 6 использовать механизм SRS, то значение должно быть отлично от нуля. Значение может быть в пределах 1-7, это уровень приоритета для вызова механизма SRS. Например установит его на 6.
- Далее, нам, необходимо обрабатывать прерывания от DMA, канал 1. Мы установит уровень его приоритета 6 (субприоритет 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) {
……
Это может быть интересно
- Гаджеты для домашней автоматики – Датчик приближенияVisits: 1926 Управление светодиодным освещением – Датчик приближения. Данный гаджет предназначен для управления внутренним освещением мебели. Датчик позволяет определить закрытие или открытие дверцы или ящика и при этом включать или …
- Гаджеты для домашней автоматики – Емкостной сенсорVisits: 1556 Управление светодиодным освещением – Сенсор емкостной. Данный гаджет предназначен для управления освещением где необходимо включением освещение сенсорным прикосновением. Датчик позволяет управлять светодиодной нагрузкой в виде модулей или светодиодных лент …
- MCC PIC24 – модуль REAL-TIME CLOCK AND CALENDAR (RTCC)Visits: 435 RTCC предоставляет пользователю часы реального времени и функция календаря (RTCC), точность “хода” может быть откалибрована. Основные особенности модуля RTCC: • Работает в режиме глубокого сна. • Возможность выбора источника …
- Проект с использованием MCC часть 13Visits: 1001 Так как используя MCC мы можем его использовать со своими библиотеками, поэтому настало время и свое создать. Для начала откроем наш заголовочный файл в нем очень много букв: По …
- MCC – K42 – настройка модуля DMAVisits: 721 MCC – в версии v.3.95.0 и начиная ядра 4.85.0 конфигуратор предоставляет графический интерфейс для настройки модуля DMA. Для начала: Посмотреть какая версия МСС можно в закладке версии, если …
- Customs codes for exportVisits: 59 Митні коди (HS Code) для надсилання посилок за кордон. Для відправки товару за кордон на сьогодні необхідно зазначати митні коди. Часто визначення коду займає багато часу. Для …
- LED драйвер TM1639Visits: 2140 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
- Самый простой диммер для светодиодного освещенияVisits: 2953 Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы …
- Temperature measurement with NTC thermistor.Visits: 216 Проекты в которых присутствовало измерение температуры начинал с цифровых датчиков, т.к. в них все просто и не надо ничего преобразовывать и вычислять. При использовании цифровых датчиков ты получаешь …
- NeoPixel LED и PIC18Visits: 1635 Еще раз об управлении светодиодами на драйвере WS2812 и ему подобных. Как известно эти светики управляются по однопроводной шине. Основная особенность, что программно можно описать передачу данных, …