登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
痞子衡嵌入式:探析i.MXRT1050在GPIO上增加RC延时电路后 ...
痞子衡嵌入式:探析i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题(上篇)
[ 复制链接 ]
孔季雅
2025-6-8 12:49:23
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是
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 上的方波是由外部信号发生器提供的):
[code]void GPIO1_Combined_16_31_IRQHandler(void){ // 检测到 GPIO_AD_B1_10 边沿 if ((GPIO1->ISR & (1U IMR & (1U
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
孔季雅
2025-6-8 12:49:23
关注
0
粉丝关注
19
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
黎瑞芝
9990
杭环
9988
4
猷咎
9988
5
凶契帽
9988
6
接快背
9988
7
氛疵
9988
8
恐肩
9986
9
虽裘侪
9986
10
里豳朝
9986
查看更多