stm8的在iar中的中断向量表
时间: 2023-09-24 16:06:26 浏览: 350
在IAR Embedded Workbench for STM8中,中断向量表位于0x8000地址处,包含了所有可能的中断向量。每个中断向量的地址是2个字节(16位),其中低字节在偶数地址处,高字节在相邻的奇数地址处。以下是STM8的中断向量表的示例:
```
VECTOR_TABLE:
.word STACK_TOP ; 栈顶指针
.word RESET_HANDLER ; 复位中断
.word TRAP_HANDLER ; TRAP中断
.word IRQ0_HANDLER ; 外部中断0
.word IRQ1_HANDLER ; 外部中断1
...
.word TIM2_CAPCOM_HANDLER ; 定时器2捕获/比较中断
...
.word SPI_HANDLER ; SPI中断
.word UART1_TX_HANDLER ; UART1发送中断
.word UART1_RX_HANDLER ; UART1接收中断
...
.word I2C_HANDLER ; I2C中断
.word AWU_HANDLER ; 自动唤醒中断
```
注意:在IAR Embedded Workbench中,由于C语言的限制,不能直接用汇编语言定义中断向量表,需要定义一个包含所有中断向量地址的数组,然后在startup文件中将其初始化。例如:
```
#pragma language=extended
#pragma segment="CSTACK"
__root const unsigned char VectorTable[] @ "VECTOR_TABLE" = {
(unsigned char) &__CSTACK_END__,
(unsigned char) &Reset_Handler,
(unsigned char) &TRAP_Handler,
(unsigned char) &IRQ0_Handler,
(unsigned char) &IRQ1_Handler,
...
};
```
阅读全文