9、IAR中断向量表与中断服务函数的编写

简介: 9、IAR中断向量表与中断服务函数的编写

1、stm8S的中断向量表


/*----------------------------------------------------
 *      Interrupt vector numbers
 *---------------------------------------------------*/
#define AWU_vector                           0x03
#define CLK_CSS_vector                       0x04
#define CLK_SWITCH_vector                    0x04
#define beCAN_FMP_vector                     0x0A
#define beCAN_FULL_vector                    0x0A
#define beCAN_FOVR_vector                    0x0A
#define beCAN_EWGF_vector                    0x0B
#define beCAN_EPVF_vector                    0x0B
#define beCAN_BOFF_vector                    0x0B
#define beCAN_LEC0_vector                    0x0B
#define beCAN_LEC1_vector                    0x0B
#define beCAN_LEC2_vector                    0x0B
#define beCAN_RQCP0_vector                   0x0B
#define beCAN_RQCP1_vector                   0x0B
#define beCAN_RQCP2_vector                   0x0B
#define beCAN_WKUI_vector                    0x0B
#define SPI_TXE_vector                       0x0C
#define SPI_RXNE_vector                      0x0C
#define SPI_WKUP_vector                      0x0C
#define SPI_MODF_vector                      0x0C
#define SPI_OVR_vector                       0x0C
#define SPI_CRCERR_vector                    0x0C
#define TIM1_OVR_UIF_vector                  0x0D
#define TIM1_CAPCOM_BIF_vector               0x0D
#define TIM1_CAPCOM_TIF_vector               0x0D
#define TIM1_CAPCOM_CC1IF_vector             0x0E
#define TIM1_CAPCOM_CC2IF_vector             0x0E
#define TIM1_CAPCOM_CC3IF_vector             0x0E
#define TIM1_CAPCOM_CC4IF_vector             0x0E
#define TIM1_CAPCOM_COMIF_vector             0x0E
#define TIM2_OVR_UIF_vector                  0x0F
#define TIM2_CAPCOM_TIF_vector               0x10
#define TIM2_CAPCOM_CC1IF_vector             0x10
#define TIM2_CAPCOM_CC2IF_vector             0x10
#define TIM2_CAPCOM_CC3IF_vector             0x10
#define TIM3_OVR_UIF_vector                  0x11
#define TIM3_CAPCOM_TIF_vector               0x12
#define TIM3_CAPCOM_CC1IF_vector             0x12
#define TIM3_CAPCOM_CC2IF_vector             0x12
#define TIM3_CAPCOM_CC3IF_vector             0x12
#define UART1_T_TXE_vector                   0x13
#define UART1_T_TC_vector                    0x13
#define UART1_R_RXNE_vector                  0x14
#define UART1_R_OR_vector                    0x14
#define UART1_R_IDLE_vector                  0x14
#define UART1_R_PE_vector                    0x14
#define UART1_R_LBDF_vector                  0x14
#define I2C_SB_vector                        0x15
#define I2C_ADDR_vector                      0x15
#define I2C_ADD10_vector                     0x15
#define I2C_STOPF_vector                     0x15
#define I2C_BTF_vector                       0x15
#define I2C_WUFH_vector                      0x15
#define I2C_RXNE_vector                      0x15
#define I2C_TXE_vector                       0x15
#define I2C_BERR_vector                      0x15
#define I2C_ARLO_vector                      0x15
#define I2C_AF_vector                        0x15
#define I2C_OVR_vector                       0x15
#define UART3_T_TXE_vector                   0x16
#define UART3_T_TC_vector                    0x16
#define UART3_R_RXNE_vector                  0x17
#define UART3_R_OR_vector                    0x17
#define UART3_R_IDLE_vector                  0x17
#define UART3_R_PE_vector                    0x17
#define UART3_R_LBDF_vector                  0x17
#define UART3_R_LHDF_vector                  0x17
#define ADC2_AWDG_vector                     0x18
#define ADC2_EOC_vector                      0x18
#define TIM4_OVR_UIF_vector                  0x19
#define FLASH_EOP_vector                     0x1A
#define FLASH_WR_PG_DIS_vector               0x1A


2、中断函数编写(IAR)


//**************************中断函数区域**************************
#pragma vector=0x05
__interrupt void EXTI_PORTA_IRQHandler(void)
{ 
}
#pragma vector=0x06
__interrupt void EXTI_PORTB_IRQHandler(void)
{
  PB_CR2_C20=0;//禁止PB0端口外部中断
  while(PB_IDR_IDR0==0);
  delay(100);
  LED=!LED;
  delay(100);
  PB_CR2_C20=1;//使能PB0端口外部中断
}
#pragma vector=0x07
__interrupt void EXTI_PORTC_IRQHandler(void)
{
}
#pragma vector=0x08
__interrupt void EXTI_PORTD_IRQHandler(void)
{
}
#pragma vector=0x09
__interrupt void EXTI_PORTE_IRQHandler(void)
{  
}
目录
相关文章
|
NoSQL 数据安全/隐私保护 Android开发
Jlink使用技巧之读取STM32内部的程序
Jlink使用技巧之读取STM32内部的程序
1810 1
Jlink使用技巧之读取STM32内部的程序
|
9天前
|
API
MASM32编程用两种方法运行外部程序并等待其结束
MASM32编程用两种方法运行外部程序并等待其结束
|
API
4.10 x64dbg 反汇编功能的封装
LyScript 插件提供的反汇编系列函数虽然能够实现基本的反汇编功能,但在实际使用中,可能会遇到一些更为复杂的需求,此时就需要根据自身需要进行二次开发,以实现更加高级的功能。本章将继续深入探索反汇编功能,并将介绍如何实现反汇编代码的检索、获取上下一条代码等功能。这些功能对于分析和调试代码都非常有用,因此是书中重要的内容之一。在本章的学习过程中,读者不仅可以掌握反汇编的基础知识和技巧,还能够了解如何进行插件的开发和调试,这对于提高读者的技能和能力也非常有帮助。
101 0
4.10 x64dbg 反汇编功能的封装
|
NoSQL Shell C语言
用GCC开发STM32,正点原子开发板的一个库函数版本例程示例
用GCC开发STM32,正点原子开发板的一个库函数版本例程示例
用GCC开发STM32,正点原子开发板的一个库函数版本例程示例
编写使用中断的按键驱动程序
编写使用中断的按键驱动程序
101 0
|
芯片
最简单的LED驱动程序编写流程--基于IMX6ULL
最简单的LED驱动程序编写流程--基于IMX6ULL
199 0
|
存储 缓存 安全
11-FreeRTOS配置函数 FreeRTOSConfig.h(下)
11-FreeRTOS配置函数 FreeRTOSConfig.h
|
编解码 数据可视化 编译器
11-FreeRTOS配置函数 FreeRTOSConfig.h(上)
11-FreeRTOS配置函数 FreeRTOSConfig.h
|
程序员 Linux 芯片
按键驱动编写
按键驱动编写
106 0
按键驱动编写
STM32独立按键控制LED亮灭---软键篇(内置代码+注释解析+部分库函数代码)
STM32独立按键控制LED亮灭---软键篇(内置代码+注释解析+部分库函数代码)
564 0
STM32独立按键控制LED亮灭---软键篇(内置代码+注释解析+部分库函数代码)