标题: error: #20: identifier "TIM1_IRQn" is undefined [打印本页]

作者: geige    时间: 2015-7-26 00:20
标题: error: #20: identifier "TIM1_IRQn" is undefined
在stm32f10x.h里有定义

​#ifdef STM32F10X_HD

void NMI_Handler(void);

void HardFault_Handler(void);

void MemManage_Handler(void);

void BusFault_Handler(void);

void UsageFault_Handler(void);

void SVC_Handler(void);

void DebugMon_Handler(void);

void PendSV_Handler(void);

void SysTick_Handler(void);

void RTC_IRQHandler(void);

void FLASH_IRQHandler(void);

void RCC_IRQHandler(void);

void EXTI0_IRQHandler(void);

void EXTI1_IRQHandler(void);

void EXTI2_IRQHandler(void);

void EXTI3_IRQHandler(void);

void EXTI4_IRQHandler(void);

void DMA1_Channel1_IRQHandler(void);

void DMA1_Channel2_IRQHandler(void);

void DMA1_Channel3_IRQHandler(void);

void DMA1_Channel4_IRQHandler(void);

void DMA1_Channel5_IRQHandler(void);

void DMA1_Channel6_IRQHandler(void);

void DMA1_Channel7_IRQHandler(void);

void ADC1_2_IRQHandler(void);

void USB_HP_CAN_TX_IRQHandler(void);

void USB_LP_CAN_RX0_IRQHandler(void);

void CAN_RX1_IRQHandler(void);

void CAN_SCE_IRQHandler(void);

void EXTI9_5_IRQHandler(void);

void TIM1_BRK_IRQHandler(void);

void TIM1_UP_IRQHandler(void);

void TIM1_TRG_COM_IRQHandler(void);

void TIM1_CC_IRQHandler(void);

void TIM2_IRQHandler(void);

void TIM3_IRQHandler(void);

void TIM4_IRQHandler(void);

void I2C1_EV_IRQHandler(void);

void I2C1_ER_IRQHandler(void);

void I2C2_EV_IRQHandler(void);

void I2C2_ER_IRQHandler(void);

void SPI1_IRQHandler(void);

void SPI2_IRQHandler(void);

void USART1_IRQHandler(void);

void USART2_IRQHandler(void);

void USART3_IRQHandler(void);

void EXTI15_10_IRQHandler(void);

void RTCAlarm_IRQHandler(void);

void USBWakeUp_IRQHandler(void);

void TIM8_BRK_IRQHandler(void);

void TIM8_UP_IRQHandler(void);

void TIM8_TRG_COM_IRQHandler(void);

void TIM8_CC_IRQHandler(void);

void ADC3_IRQHandler(void);

void FSMC_IRQHandler(void);

void SDIO_IRQHandler(void);

void TIM5_IRQHandler(void);

void SPI3_IRQHandler(void);

void UART4_IRQHandler(void);

void UART5_IRQHandler(void);

void TIM6_IRQHandler(void);

void TIM7_IRQHandler(void);

void DMA2_Channel1_IRQHandler(void);

void DMA2_Channel2_IRQHandler(void);

void DMA2_Channel3_IRQHandler(void);

void DMA2_Channel4_5_IRQHandler(void);


帖出来的是中断向量表。程序每次进中断都会查询这个表。注意NVIC初始化的时候,通道名字要与定义的相同,例如:

NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);   

我用的库是V3.5.0,其中

void TIM1_BRK_IRQHandler(void);

void TIM1_UP_IRQHandler(void);

void TIM1_TRG_COM_IRQHandler(void);

void TIM1_CC_IRQHandler(void);



这里边关于定时器TIM1的中断只有上述四个选项,而没有“TIM1_IRQn"选项,应改成”​TIM1_UP_IRQn “,这样编译就通过了。


作者: 51单片机1234    时间: 2019-3-17 11:40
一直想找这个,学习了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1