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

STM32MP157资源扩展板驱动移植篇6:扩展板按键外部中断

2021-08-19 09:23 作者:华清远见研发中心  | 我要投稿

写在前面:

本文章为《STM32MP157资源扩展板驱动移植篇》系列中的一篇,笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板)。资源扩展板是FS-MP1A开发板的扩展模块,主要包含了10余种助主流传感器、执行器件、总线控制器件,非常方便项目扩展用。可拓展开发智慧家庭、智能医疗、智能安防、工业控制、图像识别、环境检测等方向的10个左右综合项目,华清远见开发板也将配套提供所有项目的说明文档、实验源码、应用程序等资料。

针对FS-MP1A开发板,除了资源扩展板驱动移植篇外,还包括其他多系列教程,包括Cortex-A7开发篇、Cortex-M4开发篇、FreeRTOS篇、Linux应用开发篇、Linux系统移植篇、Linux驱动开发篇、硬件设计篇、人工智能机器视觉篇、Qt应用编程篇、Qt综合项目实战篇等。欢迎关注,更多stm32mp157开发教程及视频,可加技术交流Q群459754978,感谢关注。

FS-MP1A开发板详情介绍:item.taobao.com/item.ht


1.资源扩展板介绍

1.1硬件介绍

1.2资源扩展板可开发项目


2.扩展板按键外部中断

2.1实验原理

本实验的原理主要是,通过扩展板上按键K1的外部中断方式读取键值即IO口状态,控制LED点亮、熄灭查看实验现象。





配置IO口外部中断的步骤:

使能 IO 口时钟。
初始化 IO 口模式,触发条件。
配置中断优先级( NVIC),并使能中断。
在中断服务函数中调用外部中断共用入口函数 HAL_GPIO_EXTI_IRQHandler。
编写外部中断回调函数。

通过以上几个步骤的设置,我们就可以正常使用外部中断了。


2.2实验目的

掌握STM32CubeIDE软件的基本设计流程和设计步骤,能够使用工具进行设计、编程、仿真调试。

学习GPIO口的使用方法,掌握如何利用STM32MP157A芯片的I/O口作为外部中断输入。


2.3实验环境

FS-MP1A开发平台

ST-Link仿真器

STM32CubeIDE开发软件

PC机 XP、Window7/10 (32/64bit)

2.4实验步骤

搜索框内搜索扩展板KEY1、KEY2、KEY3对应GPIO引脚PF9、PF8、PF7,分别设置为GPIO_EXTI9、GPIO_EXTI8和GPIO_EXTI7。

搜索框内搜索扩展板三个LED对应GPIO引脚PE10、PF10和PE8,左键点击设置为GPIO_output。




这里我们需要注意一下,和其他单片机不同,还需要继续设置“ Pin Reservation”给“ Cortex-M4”,否则STM32CubeMX不会生生成GPIO初始化相关代码。具体操作:在刚才选择的引脚上,鼠标右键选择“ Pin Reservation”->“ Cortex-M4”。



打开GPIO标签,对PF9、PF8和PF7引脚进行配置





上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\13_EX_GPIO_KEY】

此时按下KEY1键,即可发现LED1电平发生改变,按下KEY2键,LED2电平发生改变,按下KEY3键,LED3电平发生改变。


STM32MP157资源扩展板驱动移植篇6:扩展板按键外部中断的评论 (共 条)

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