STM32中断知识点简介

中断服务函数存放路径为启动文件:startup_stm32f10x_hd
1、常用的中断服务函数

//外部中断服务函数:
EXTI0_IRQHandler           // EXTI0_IRQn
EXTI1_IRQHandler           // EXTI1_IRQn
EXTI2_IRQHandler           // EXTI2_IRQn
EXTI3_IRQHandler           // EXTI3_IRQn
EXTI4_IRQHandler           // EXTI4_IRQn
EXTI9_5_IRQHandler         // EXTI9_5_IRQn
EXTI15_10_IRQHandler       // EXTI15_10_IRQn

//串口中断服务函数:
USART1_IRQHandler          // USART1_IRQn
USART2_IRQHandler          // USART2_IRQn
USART3_IRQHandler          // USART3_IRQn
UART4_IRQHandler           // UART4_IRQn
UART5_IRQHandler           // UART5_IRQn

//通用定时器中断服务函数:
TIM2_IRQHandler			   // TIM2_IRQn
TIM3_IRQHandler            // TIM3_IRQn
TIM4_IRQHandler            // TIM4_IRQn
TIM5_IRQHandler            // TIM5_IRQn

//基本定时器中断服务函数:
TIM6_IRQHandler            // TIM6_IRQn
TIM7_IRQHandler            // TIM7_IRQn

//高级定时器中断服务函数:
TIM1_BRK_IRQHandler        // TIM1_BRK_IRQn
TIM1_UP_IRQHandler         // TIM1_UP_IRQn
TIM1_TRG_COM_IRQHandler    // TIM1_TRG_COM_IRQn
TIM1_CC_IRQHandler         // TIM1_CC_IRQn

//TIM8_BRK_IRQHandler        // TIM8_BRK_IRQn
TIM8_UP_IRQHandler         // TIM8_UP_IRQn
TIM8_TRG_COM_IRQHandler    // TIM8_TRG_COM_IRQn
TIM8_CC_IRQHandler         // TIM8_CC_IRQn

//ADC中断服务函数:
ADC1_2_IRQHandler          // ADC1_2_IRQn
ADC3_IRQHandler            // ADC3_IRQn

//DMA中断服务函数:
DMA1_Channel1_IRQHandler   // DMA1_Channel1_IRQn
DMA1_Channel2_IRQHandler   // DMA1_Channel2_IRQn
DMA1_Channel3_IRQHandler   // DMA1_Channel3_IRQn
DMA1_Channel4_IRQHandler   // DMA1_Channel4_IRQn
DMA1_Channel5_IRQHandler   // DMA1_Channel5_IRQn
DMA1_Channel6_IRQHandler   // DMA1_Channel6_IRQn
DMA1_Channel7_IRQHandler   // DMA1_Channel7_IRQn

DMA2_Channel1_IRQHandler   // DMA2_Channel1_IRQn
DMA2_Channel2_IRQHandler   // DMA2_Channel2_IRQn
DMA2_Channel3_IRQHandler   // DMA2_Channel3_IRQn
DMA2_Channel4_5_IRQHandler // DMA2_Channel4_5_IRQn

//IIC中断服务函数
I2C1_EV_IRQHandler         // I2C1_EV_IRQn
I2C1_ER_IRQHandler         // I2C1_ER_IRQn
I2C2_EV_IRQHandler         // I2C2_EV_IRQn
I2C2_ER_IRQHandler         // I2C2_ER_IRQn

//SPI中断服务函数
SPI1_IRQHandler            // SPI1_IRQn
SPI2_IRQHandler            // SPI2_IRQn
SPI3_IRQHandler            // SPI3_IRQn

2、常用中断服务函数格式

//外部中断服务函数判断逻辑
void EXTIx_IRQHandler(void)
{
	if(EXTI_GetITStatus(EXTI_Linex)!=RESET)//判断是否进入中断
	{
		中断执行命令……
		EXTI_ClearITPendingBit(EXTI_Linex);//清除中断标志位 
	} 	
}

//基本,通用定时器中断服务函数
void TIMx_IRQHandler(void) 
{
	if (TIM_GetITStatus(TIMx, TIM_IT_Update) != RESET)//判断是否进入中断
	{		
		中断执行命令……
		TIM_ClearITPendingBit(TIMx, TIM_IT_Update);//清除中断标志位 
	}				
}

//高级定时器中断服务函数
void TIMx_UP_IRQHandler(void) 
{
	if (TIM_GetITStatus(TIMx, TIM_IT_Update) != RESET)//判断是否进入中断
	{		
		中断执行命令……
		TIM_ClearITPendingBit(TIMx, TIM_IT_Update);//清除中断标志位 
	}				
}

//串口中断服务函数
void USARTx_IRQHandler(void)
{
	if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//判断是否进入中断
	{
		Res=USART_ReceiveData(USART1);	//读取接收到的数据后自动清除中断标志位
	}		
}
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值