【问题标题】:Nested Vectored Interrupt Controller嵌套向量中断控制器
【发布时间】:2017-01-23 11:00:12
【问题描述】:

我一直在努力使用 NVIC,为什么要使用它?以及它是如何使用的? 在我正在使用的项目中

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

这些都是在system.c 中定义的,谁能解释我为什么要使用这些特定的命令。请提及任何我可以推荐的好材料。

谢谢。

【问题讨论】:

  • 你能说得更具体点吗?事实上,您的问题要求提供数据表中的几乎所有信息。
  • 尽管对于专家来说您指的是 ARM NVIC 可能很明显,但您的问题是特定于目标的,因此您应该指定目标。此外,文件 system.c 是特定于您的应用程序、库或开发工具链的,因此您可能也应该指定它。最终您需要阅读 ARM 技术文档以获取详细信息;更简单的介绍也许是 Joseph Yiu 的书之一(假设 ARM Cortex-M)。但是,如果你要问 NVIC 是干什么用的,你可能首先需要学习一些中断和微处理器的基础知识。

标签: embedded interrupt interrupt-handling interrupted-exception


【解决方案1】:

NVIC 是嵌套向量中断控制器(类似于 x86 PC 上的 PIC)。

您可以在 ARM 网站上获取更多信息 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0179b/ar01s01s01.html 以及子架构的特定芯片数据表和 ARM 手册。

【讨论】:

  • 我个人觉得这篇博文对理解 NVIC 很有帮助:mcuoneclipse.com/2016/08/14/…。它以通俗易懂的方式详细解释了基于ARM Cortex-M的系统的中断系统。
  • 这个答案所做的只是说明OP已经知道的内容(从阅读问题中可以明显看出),然后删除手册的链接。事实上,这个问题可能过于宽泛,无法以目前的形式回答。
  • 嗯,问题还问到“好材料”,我链接到了。我也曾要求澄清。另一种选择只是对这个问题投反对票,但这似乎效率更低。
猜你喜欢
  • 1970-01-01
  • 2021-03-01
  • 2012-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-12
相关资源
最近更新 更多