Views: 455
Виды формирования запоминая контекста при входе в прерывания.
Компилятор представляет три варианта
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) {
……
Это может быть интересно
- ch-светомузыка от теории до реализацииViews: 700 Сразу оговоримся технология или теория ch-светомузыки, это постоянно развивающийся процесс и то что будет сказано сегодня завтра может быть опровергнуто и считаться ошибочным. Назовем само решение проблемы автоматического …
- Система AT команд версии V2.0 для ESP8266 и ESP32Views: 12836 Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266. Начиная с версии v2.0 в ESP8266 …
- Acquaintance with audio-bluetooth modules F-6888 (BK3254).Views: 2184 Для проектов появилось необходимость познакомиться с недорогими модулями китайского производства, которые можно приобрести у нас в Украине и у китацев, на алиэкспрессе. Так как меня интересует не просто, …
- Altium Designer my Libraries, Project templates, System settings by Catcatcat V24.0 PROViews: 258 Назвемо цей варіант поновлення для професіоналів і не тільки. Що нового? 1. Повністю змінено структуру параметрів бази даних компонента. Це дозволило повноцінної роботи Актив ВОМ. Ви відразу отримуєте …
- TM1650 драйвер LED семисегментного индикатораViews: 17850 Китайский производитель Shenzhen Titan Micro Electronics Co., Ltd. Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов не только …
- OLED RET012864E/REX012864JViews: 1472 RET012864E/REX012864J ОЛЕД индикатор производитель Raystar-Optronics приобретался в http://www.microchip.ua/ к сожалению никакой информации на сайте поставщика нет. Поэтому решил работу с этой версией индикатора на драйвере SSD1305 предоставить на своем сайте. Так как …
- WiFi ESP8266 – AT команды связанные с функцией TCP/IP (v.1.6.1)Views: 5051 AT команды связанные с функцией TCP/IP В этом разделе описаны команды которые позволяют устанавливать соединения между серверами и клиентами в сети. Приведено описание команд и примеры их выполнения. …
- Универсальный терморегулятор ch-c3000Views: 2992 Терморегулятор ch-c3000 предназначен для управления системами регулирования температуры в пределах от – (минус) 55 до + 125 С. Регулятор может использоваться как в системах отопления, так и в …
- LCD индикаторы на драйвере ML1001Views: 1890 ML1001 – статический LCD GOG (чип в стекле) драйвер для 40-сегментного LCD в позолоченном противоударном исполнении. На них можно каскадно строить цельные из 80 или 120 сегментов LCD индикаторы. …
- Простой оптический сенсор приближенияОптический сенсор, назначение оптический концевик, для автоматики, бесконтактный выключатель с функцией автоматического отключения...