Вложенный векторный контроллер прерываний

Я боролся с NVIC, почему он используется? и как он используется? В моем проекте я использую

 NVIC_IntDisable(NVIC_SSP0); 
 NVIC_ClrPend(NVIC_PIO_0);
 NVIC_IntPri(NVIC_PIO_0, 17);    
 NVIC_IntEnable(NVIC_PIO_0);     

Все они определены в system.c. Может ли кто-нибудь объяснить мне, почему они используются для каких-либо конкретных команд. Пожалуйста, укажите любой хороший материал, на который я могу ссылаться.

Спасибо.


person Vishnu Prasad P    schedule 15.09.2016    source источник
comment
Не могли бы Вы уточнить. Как бы то ни было, ваш вопрос требует почти всей информации, которая есть в таблицах данных.   -  person domen    schedule 15.09.2016
comment
Хотя для эксперта может быть очевидно, что вы имеете в виду ARM NVIC, ваш вопрос относится к конкретной цели, поэтому вам следует указать цель. Кроме того, файловая система.c относится к вашему приложению, библиотеке или набору инструментов разработки, поэтому вам, вероятно, также следует указать это. В конечном итоге вам нужно прочитать техническую документацию ARM для получения подробной информации; для более легкого введения, возможно, одна из книг Джозефа Ю (при условии ARM Cortex-M). Однако, если вам нужно спросить, для чего нужен NVIC, вам, вероятно, сначала нужно изучить некоторые основы прерываний и микропроцессоров.   -  person Clifford    schedule 15.09.2016


Ответы (1)


NVIC — это вложенный векторный контроллер прерываний (аналог PIC на ПК с архитектурой x86).

Дополнительную информацию можно получить на веб-сайте ARM http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0179b/ar01s01s01.html, а также в технических описаниях конкретных микросхем и руководствах по подархитектуре ARM.

person domen    schedule 15.09.2016
comment
Я лично нашел этот пост в блоге очень полезным для понимания NVIC: mcuoneclipse.com/2016/08/14/ . Он подробно и доступно объясняет систему прерываний систем на базе ARM Cortex-M. - person Tim; 15.09.2016
comment
Все, что делает этот ответ, — это изложение того, что уже знал ОП (что очевидно из прочтения вопроса), а затем ссылка на руководство. На самом деле вопрос, вероятно, слишком широк, чтобы на него можно было ответить в его нынешнем виде. - person Lundin; 15.09.2016
comment
Что ж, вопрос также задан для хорошего материала, на который я ссылаюсь. Я также попросил разъяснений. Другой вариант — просто проголосовать против вопроса, но это кажется еще менее продуктивным. - person domen; 15.09.2016