【STM32F412-DISCO 开发板试用体验】+按键外部中断

  • 开发
  • 泡沫113355
  • LV3工程师
  • |      2017-05-22 16:19:20
  • 浏览量 2383
  • 回复:3
STM32F412-DISCO板载的按键前后左右的4个PIN值不同,而且都可以映射到外部中断。我记得在这F103中所有PIN都支持外部中断,但在F412的启动文件发现只有EXTI0到4还有EXTI15_10,并不是全部支持。不过还好,只有SEL键PIN0重合。 我自己编写IRQHandler时发现HAL库中没有提供清中断函数,仔细查了一下发现HAL库中外部中断是用一个函数将所有的EXTI集中到一起,再通过PIN值来调用我们自己编写回调函数HAL_GPIO_EXTI_Callback(GPIO_Pin)来完成自己的功能。 void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin) { /* EXTI line interrupt detected */ if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET) { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); HAL_GPIO_EXTI_Callback(GPIO_Pin); } } 串口输出信息如下 从标准库转向HAL好几天了,终于在外部中断的处理这里发现了他们在思想上的区别,HAL是如何将硬件层隔离,这里上传一份工程,做个纪念。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:3
yufeng1021 2017-05-31
支持。。。。。。。
0   回复
举报
发布
test12345 2017-05-30
学习一下。
0   回复
举报
发布
chen0000009 2017-05-23
学习一下,我看看哪天也要开搞了
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子