STM32中断向量号与中断向量表之间有紧密的联系,它们共同构成了STM32中断系统的核心机制。
1. **中断向量号**:
中断向量号是每个中断源的标识符,它是一个唯一的数字,用于在中断向量表中定位对应的中断服务函数(ISR)。在STM32中,每个中断源都有一个特定的中断向量号,例如,定时器中断、外部中断(EXTI)、串口(USART)中断等都有自己的中断向量号。
2. **中断向量表**:
中断向量表是一个存储中断向量(即中断服务函数的入口地址)的数组。当STM32微控制器启动时,中断向量表会被加载到内存的特定位置,通常位于内存的起始地址。这个表按照中断向量号的顺序排列,包含了所有中断源的ISR入口地址。
它们之间的联系如下:
- **定位与跳转**:当某个中断发生时,STM32的CPU会根据中断类型查询中断向量表,通过中断向量号找到对应中断服务函数的入口地址,然后跳转到该地址执行ISR。
- **组织结构**:中断向量表中的每个条目都对应一个中断向量号,这些条目按照中断向量号的顺序排列,确保了CPU能够快速定位到正确的ISR。
- **唯一性**:由于每个中断向量号是唯一的,这保证了在发生中断时,CPU能够精确地找到对应的中断服务函数,而不会发生混淆。
总之,中断向量号是中断源的唯一标识,而中断向量表则是一个组织结构,它通过存储ISR的入口地址,使得CPU能够快速、准确地响应和处理各种中断事件。这两者共同确保了STM32中断系统能够高效、可靠地工作。