我在IAR里面写软件的,找不到它的向量号,其它的好像都有。
#define AWU_vector 0x03
#define CLK_CSS_vector 0x04
#define CLK_SWITCH_vector 0x04
#define SPI_RXNE_vector 0x0C
#define SPI_TXE_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_CC1IF_vector 0x12
#define TIM3_CAPCOM_TIF_vector 0x12
#define TIM3_CAPCOM_CC3IF_vector 0x12
#define TIM3_CAPCOM_CC2IF_vector 0x12
#define UART1_T_TXE_vector 0x13
#define UART1_T_TC_vector 0x13
#define UART1_R_OR_vector 0x14
#define UART1_R_LBDF_vector 0x14
#define UART1_R_IDLE_vector 0x14
#define UART1_R_PE_vector 0x14
#define UART1_R_RXNE_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_OVR_vector 0x15
#define I2C_TXE_vector 0x15
#define I2C_BERR_vector 0x15
#define I2C_ARLO_vector 0x15
#define I2C_AF_vector 0x15
#define I2C_RXNE_vector 0x15
#define UART3_T_TC_vector 0x16
#define UART3_T_TXE_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
这个是在头文件里定义的,但是找不到外部中断的,比如说我用到了PA4-6三个外部中断,见我的程序,
void int_cap()
{PA_DDR=0x00; //配置PA4-6为输入模式
PA_CR1=0x00; //配置PA4-6输入方式为floating input
PA_CR2=0x70; //配置PA4-6为外部中断
EXTI_CR1=0x03; //配置为上下沿同时触发
}
#pragma vector=
但是下去我不知道这个中断向量号写什么了?
那我的软件这样写,可以吗?
void int_cap()
{PA_DDR=0x00; //配置PA4-6为输入模式
PA_CR1=0x00; //配置PA4-6输入方式为floating input
PA_CR2=0x70; //配置PA4-6为外部中断
EXTI_CR1=0x03; //配置为上下沿同时触发
}
#pragma vector=EXTI0
__interrupt void GPIO_A(void)
{
}
这样写能进入外部中断子程序里了吗?
我的头文件是用的IAR里面自带的头文件:iostm8s207sb.h
头文件里要有什么修改吗?
你好,PORTA中断向量地址为什么是0X05呢?手册上写的不是0X008014么?!
其他的也是的,STM8头文件里中断向量地址都是8位的,但手册里都是24位的,这是如何换算的呢?
请赐教哦