Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F4
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Vladislav_Minsk
Добрый день.
Получилось обрабатывать прерывания по разным интерфейсам.
Создавать функции обрабатывающих прерывания понял как.
Подскажите пожалуйста что под собой подразумевает строчка: NVIC_EnableIRQ(USART3_IRQn);
Она разрешает прерывания по интерфейсу...
Интересуют процессы происходящие с регистрами модуля прерываний...
Что и в какой последовательности куда заносится, и как установить приоритеты по прерываниям без использования стандартных функций...
Хочется разобраться с самим процессом изнутри...
_Артём_
Цитата(Vladislav_Minsk @ Dec 11 2012, 16:42) *
Подскажите пожалуйста что под собой подразумевает строчка: NVIC_EnableIRQ(USART3_IRQn);
Она разрешает прерывания по интерфейсу...

Наведите на функция курсор, вызовите контексное меню и выберите что-то вроде "Go to definition"
Увидите что-то такое
Код
/** \brief  Enable External Interrupt

    This function enables a device specific interupt in the NVIC interrupt controller.
    The interrupt number cannot be a negative value.

    \param [in]      IRQn  Number of the external interrupt to enable
*/
static __INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
{
  NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* enable interrupt */
}



Цитата(Vladislav_Minsk @ Dec 11 2012, 16:42) *
Что и в какой последовательности куда заносится, и как установить приоритеты по прерываниям без использования стандартных функций...

Аналогично: смотрите реализацию функцию NVIC_SetPriority в core_cm3.h (или core_cm4.h).


scifi
Цитата(Vladislav_Minsk @ Dec 11 2012, 18:42) *
Хочется разобраться с самим процессом изнутри...

Для этого есть мануал на МК. Эта так называемая библиотека - не лучший образец кода, мягко говоря.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.