Перейти к содержанию
    

Программное прерывание на STM32

Здравствуйте!

У меня возникла необходимость генерировать программное прерывание, то есть устанавливать некий бит и улетать в обработчик прерываний с приоритетом выше USB и ниже I2S. Не уверен, то ли я нашел, но в STM32F429 есть регистр EXTI_SWIER, устанавливая бит которого в мануале обещают программное прерывание. Пытаюсь его настроить так:

    EXTI->IMR |= EXTI_IMR_MR0;
    NVIC_SetPriority(EXTI0_IRQn, 15);
    NVIC_EnableIRQ(EXTI0_IRQn);
    
    EXTI->SWIER |= EXTI_IMR_MR0;

обработчик прерываний такой:

void EXTI0_IRQHandler (void)
{
    SET(TEST_X);
}

 

Вроде как, после установки EXTI->SWIER |= EXTI_IMR_MR0 программа должна улететь в обработчик прерывания, но этого не происходит. Подскажите пожалуйста, что я делаю не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В мануале нашел только эту фразу

Software interrupt/event selection

The 23 lines can be configured as software interrupt/event lines. The following is the

procedure to generate a software interrupt.

• Configure the mask bits of the 23 interrupt/event lines (EXTI_IMR, EXTI_EMR)

• Set the required bit in the software interrupt register (EXTI_SWIER)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В мануале нашел только эту фразу

Откройте доку на ядро и читайте всё про NVIC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

после выполнения строки

EXTI->SWIER |= EXTI_SWIER_SWIER0; // вызов прерывания Software Interrupt on line 0

будет в соотв. программном прерывании

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...