stm32 HAL库开发-EXTI外部中断编程

电子说

1.2w人已加入

描述

1

编写流程

如下图所示,作用于外部IO口的信号,实际上经过三个部分进入NVIC控制器:GPIO、EXTI控制器、NVIC控制器。

HAL库

我们在程序配置中也需要对这三个部分依次设置。

HAL库

2

外部中断实验

实验设计

Nuelco-F091RC开发板的PA10引脚配置上拉电阻并配置下降沿中断,PA10外接一按键用于接地触发中断。

开发板PB3引脚配置为推挽输出并外接LED灯泡,外部中断服务函数将PB3引脚电平翻转从而控制LED亮灭。

HAL库

实验程序

宏定义LED和按键的引脚和端口

HAL库

声明并定义两个部分的初始化函数[动画表情]

HAL库

一定要记得开时钟,这是Stm32与AVR非常不一样的地方,

KEY_EXTI_Init()函数中最后要配置NVIC以使中断被响应。

HAL库

在main函数中调用两个初始化函数。

HAL库

在stm32f0xx_it.h文件中声明中断服务函数

HAL库

在stm32f0xx_it.c文件中定义中断服务函数,一定别忘了清中断标志,否则程序会反复进入中断。

HAL库

最后在main.c中写入回调函数内容

HAL库

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分