欢迎光临散文网 会员登陆 & 注册

STM32中断功能学习及代码

2023-08-13 17:46 作者:电子学记  | 我要投稿

STM32的学习,这里用到三个工具,CubeMX、Keil和Proteus,有了这三个工具外加一台电脑,就可以好好学习。

中断这个开发流程,也是先从CubeMX进行的单片机配置,内容如下图所示。

pin配置

其他默认后生成代码也可以仿真,但是如果不是仿真还是做一点设置应该更好。

时钟这里是默认的。

project更改如下:

将来代码编译环境需要选择
红线部分更改一下

设置好以后,就可以生成代码,点一下就能自动生成了。然后可以用keil去打开了。只要在main.c里面user code 4部分加入回调函数,就可以实现中断功能。

红圈中断回调函数

下面对这个函数进行一些解释。

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)   //中断回调函数

{

if(GPIO_Pin==GPIO_PIN_0)     //如果中断引脚是PC0

HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_10); //引脚PA10输出取反

if(GPIO_Pin==GPIO_PIN_13)  //如果输出是PC13

HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_7); //引脚PA7取反

}


然后编译,就可以用Proteus进行运行了,画的原理图如下。

原理图


STM32中断功能学习及代码的评论 (共 条)

分享到微博请遵守国家法律