孔季雅 发表于 2025-6-8 12:49:23

痞子衡嵌入式:探析i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题(上篇)

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题探析。
  前段时间有一个 RT1052 客户反馈了一个有趣的问题,他们设计得是一个带 LCD 屏交互的应用,应用以官方 SDK 里的 lvgl_demo_widgets_bm 例程为基础。当客户在这个例程基础上增加了 GPIO 输入边沿中断检测,并且硬件上给 GPIO 增加了 RC 延时电路后,发现边沿中断触发得不太准确,这是怎么回事?今天痞子衡带大家还原现场:
一、问题描述

  客户做得硬件改动很简单,在 GPIO_AD_B1_04 引脚和 GPIO_AD_B1_10 引脚之间加了如下的 RC 延时电路。GPIO_AD_B1_04 上产生得是 500Hz 的方波(既可以是 GPIO 模块输出,也可以去掉 R290 后直接接信号发生器),这个方波经过 RC 电路之后输出给 GPIO_AD_B1_10,然后通过其输入边沿中断来检测电平变化,并且在每个边沿中断里都翻转一次 GPIO_AD_B1_11 电平。

  代码改动也足够简单,只需要在 \SDK_2_15_000_EVKB-IMXRT1050\boards\evkbimxrt1050\lvgl_examples\lvgl_demo_widgets_bm 工程里添加 test_gpio_irq() 函数调用即可(这里假定 GPIO_AD_B1_04 上的方波是由外部信号发生器提供的):
void GPIO1_Combined_16_31_IRQHandler(void){    // 检测到 GPIO_AD_B1_10 边沿    if ((GPIO1->ISR & (1U IMR & (1U

怒鼓踊 发表于 2025-11-26 15:52:46

谢谢分享,试用一下

刘凤 发表于 2025-12-19 05:57:16

谢谢分享,辛苦了

艾晓梅 发表于 2026-1-13 23:25:04

谢谢分享,试用一下

苗嘉惠 发表于 2026-1-19 00:51:41

收藏一下   不知道什么时候能用到

啪炽 发表于 2026-1-20 09:12:40

这个好,看起来很实用

劳怡月 发表于 2026-1-20 22:25:21

东西不错很实用谢谢分享

巨耗 发表于 2026-1-22 18:07:50

不错,里面软件多更新就更好了

骆贵 发表于 2026-1-24 09:46:12

谢谢分享,试用一下

锷稠 发表于 2026-1-26 09:12:23

感谢分享,下载保存了,貌似很强大

忆雏闲 发表于 2026-1-28 02:02:49

很好很强大我过来先占个楼 待编辑

哈梨尔 发表于 2026-1-29 03:28:41

前排留名,哈哈哈

闻成 发表于 2026-1-30 04:02:08

前排留名,哈哈哈

判涔 发表于 2026-2-3 08:51:31

感谢分享,下载保存了,貌似很强大

获弃 发表于 2026-2-4 06:53:36

这个好,看起来很实用

采序 发表于 2026-2-4 10:20:44

很好很强大我过来先占个楼 待编辑

貊淀 发表于 2026-2-7 23:28:14

收藏一下   不知道什么时候能用到

伯斌 发表于 2026-2-8 03:36:46

收藏一下   不知道什么时候能用到

涅牵 发表于 2026-2-9 11:23:54

前排留名,哈哈哈

荦绅诵 发表于 2026-2-9 20:46:44

东西不错很实用谢谢分享
页: [1] 2
查看完整版本: 痞子衡嵌入式:探析i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题(上篇)