реклама на сайте
подробности

 
 
> Можно ли запретить NVIC прерывания ниже 10-го уровня?
igorle
сообщение Oct 22 2013, 19:15
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Я считал, что эту задачу решу за полчаса, но чем больше изучаю - тем больше запутываюсь.
Процессор STM32F103
Работаю с UART, SPI и USB
В некоторый момент мне надо запретить прерывания от USB.

Можно решить задачу в лоб - в нужный момент запретить два прерывания
Код
NVIC_DisableIRQ(USB_LP_CAN1_RX0_IRQn);
NVIC_DisableIRQ(USBWakeUp_IRQn);

А потом аналогично разрешить. Но это пОшло.
NVIC позволяет дать каждому прерыванию свой приоритет. Я полагал, что после этого можно, например, маскировать (запрещать) все прерывания ниже определенного приоритета. Но сегодня из документации понял, что приоритет дает только порядок обработки прерываний. А запретить можно или все (__disable_irq()), или одно конкретное прерывание(NVIC_DisableIRQ(irqn)).

Можно ли запрещать прерывания ниже определенного приоритета?

И второе. NVIC_SetPriorityGrouping(). Читаю описание хоть на английском, хоть на русском. Понимаю каждое слово, но не понимаю смысла группирования. Может кто-то свою трактовку одним-двумя предложениями дать?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01344 секунд с 7
ELECTRONIX ©2004-2016