CubeMX配置STM32f103c8t6的外部中断

CubeMX配置STM32f103c8t6的外部中断

选用PC13和PB5为例

先选择PB5和PB13为GPIO_EXTI,然后选择配置中断触发方式以及上下拉电阻
CubeMX配置STM32f103c8t6的外部中断_第1张图片
CubeMX配置STM32f103c8t6的外部中断_第2张图片
然后对中断进行使能
CubeMX配置STM32f103c8t6的外部中断_第3张图片
到此配置就结束了
此外,如果想更改中断方式和上下拉电阻等不在CubeMX上面改的话可以直接在keil 5里面改
但是如果后面还需要在CubeMX里面重新配置了的话,那么要在Cube里面把在keil 5里面更改的重新配置,因为在keil 5里面更改Cube重新生成后会覆盖(在began和end之间写的代码不会,所以自己的代码最好都写在began和end之间)
CubeMX配置STM32f103c8t6的外部中断_第4张图片
打开keil 5,在stm32f1xx_it.c里面找到中断服务函数
CubeMX配置STM32f103c8t6的外部中断_第5张图片
跳转(跳转前需要先编译)至定义找到回调函数
CubeMX配置STM32f103c8t6的外部中断_第6张图片
重写回调函数,我习惯在main.c里面重写(不是在main函数里面写)

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
	{
		if(GPIO_Pin == GPIO_PIN_13)//判断是哪儿产生了中断
		{
			//这儿写中断里面需要执行的命令
		}
		if(GPIO_Pin == GPIO_PIN_5)//判断是哪儿产生了中断
		{
			//这儿写中断里面需要执行的命令
		}
	}

你可能感兴趣的:(stm32,单片机,arm)