GPI口 能设置双边沿触发的Interrupt吗?

[复制链接]
782|8
手机看帖
扫描二维码
随时随地手机跟帖
houcs|  楼主 | 2018-4-30 18:21 | 显示全部楼层 |阅读模式
我想实现一个GPI口,上下沿状态改变都可以调用一个ISR函数,但是Cypress 的Interrupt Type 中只有Level,Derived,Rising Edge三个选项,目前,选了Rising Edge这个选项之后,通过上位机将GPI口的状态从0->1 确实能调用到ISR函数,但是从1->0 是无法调用,请问如何才能实现GPI 状态变化 能够调用到ISR函数呢?先谢谢大神啦
chuxh| | 2018-4-30 18:23 | 显示全部楼层

Pin脚的interrupt 配置中有 rising/falling/both的配置

使用特权

评论回复
houcs|  楼主 | 2018-4-30 18:28 | 显示全部楼层
你说的时候GPI口上的配置里设置双边沿触发吧? 我之前有试过将GPI口设置中Input->Interrupt设置为Both Edge(双边沿触发),然后将irq连到中断上,在中断InterruptType设置成Rising Edge或者Derived, 都无法实现真正意义上的双边触发,而是发现这个中断一直被触发。

使用特权

评论回复
llljh| | 2018-4-30 18:30 | 显示全部楼层
中断一直触发是因为没有清中断吧,可以参考下creator中的示例工程:file->code examples: search: interrupt.

使用特权

评论回复
houcs|  楼主 | 2018-4-30 18:31 | 显示全部楼层
嗯嗯,清了中断之后确实 可以实现双边触发,谢谢啦。这个问题可以结帖了。

使用特权

评论回复
houcs|  楼主 | 2018-4-30 18:34 | 显示全部楼层
当时我遇到另外一个问题,我将P6[6]与P6[7]设置为两个的中断,却出现了编译错误,报错内容是中断不能放在P6[6],因为中断与P6[6]的已有中断冲突了,我讲P6[6]换成P2[6]就没有问题了

使用特权

评论回复
houcs|  楼主 | 2018-4-30 18:35 | 显示全部楼层
[size=13.333333969116211px][url=][/url]

使用特权

评论回复
dingy| | 2018-4-30 18:37 | 显示全部楼层
一个port上只有一个中断源与之映射。把这个两个pin放置在同一个port上的相邻的引脚(共用中断源,中断触发时需要判断是哪个引脚触发的)或者分在不同的port上。

使用特权

评论回复
houcs|  楼主 | 2018-4-30 18:38 | 显示全部楼层
这个问题解决了,多谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

743

主题

8382

帖子

5

粉丝