本文主要是介绍imx6ull gpio 中断,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文使用100ask_imx6ull_mini开发板来做实验,内容参考百问网开发手册
一、整体流程
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jppOv6yq-1632471182552)(E:\u-boot\pic\中断流程.png)]](https://img-blog.csdnimg.cn/7b0cb6a5a531483cab3beb5c2a6c5950.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAcmlzY19sdWNr,size_20,color_FFFFFF,t_70,g_se,x_16)
GPIO 作为中断源,本实验使用KEY1(GPIO5_1)和KEY5(GPIO4_IO14)两个按键作为中断源,主要工作如下:
设置GPIO模块
设置GIC模块
使能各个路径的中断
编写中断函数
二、GPIO模块相关设置
1.设置gpio管脚模式为GPIO模式(alt5),并设置相应上下拉等特性。
/* KEY1 pins GPIO5_1 SNVS_TAMPER1 */IOMUXC_SetPinMux(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01, 0U);IOMUXC_SetPinConfig(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01, IOMUXC_SW_PAD_CTL_PAD_DSE(6U) |IOMUXC_SW_PAD_CTL_PAD_SPEED(2U) |IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |IOMUXC_SW_PAD_CTL_PAD_HYS_MASK);/* KEY2 pins GPIO4_IO14 */IOMUXC_SetPinMux(IOMUXC_NAND_CE1_B_GPIO4_IO14,
这篇关于imx6ull gpio 中断的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!