Advertisement

STM32-异常/中断

阅读量:

在单片机的应用中频繁使用的中断信号主要由(内核机制)引发的外部事件以及常规的突发情况所造成。然而异常现象虽然与通常所说的中断相似但也存在显著的区别。

异常(内核中断)和外部中断

当CPU执行特定指令时可能出现的内部异常状态指的是CPU在执行特定指令过程中所产生的非法状态。例如除数为零的情况以及其他类似的非法操作等情况下可能会导致系统崩溃或者数据错误的发生。因此,在执行单个指令的过程中不会触发任何异常事件从而保证系统的稳定运行;然而通常仅在完成一条指令后才可能出现相关异常情况这也被当作同步中断的一种形式加以处理。相比之下另一种类型的是异步中断现象即这种中断与特定的操作系统任务无关其处理机制独立于主程序流动并行进行以确保系统的高效运行。

支持 CM3 核心提供的中断数量为 256 个,并将其分为用于处理系统异常的16个内核中断和其他外部中断类型。

此外该核心还配置了固定优先级的3个中断以及可编程设置的256级(8位)中断安排。

由于CM3核心的设计允许通过修改硬件描述语言代码来实现功能扩展因此在实际应用中可能支持的功能模块数量也会相应减少。

具体实现时可能支持的最大优先级级别通常在8到32级别之间(分别对应二进制位数从3到5位)。

STM32包含84个中断。其中包括16个内核中断和68个外部中断。这些中断能够以16级别(共4位)

全部评论 (0)

还没有任何评论哟~