打印
[技术问答]

初识GPIO

[复制链接]
712|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shen_hao|  楼主 | 2017-7-16 18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GPIO, pi, IO, gp, ce
本帖最后由 shen_hao 于 2017-7-16 21:34 编辑

在测试GPIO,发现自己想在程序中给某一个PIN赋值0/1并不能引起上升沿或者下降沿的中断,经过多次测试发现是使能了de-bounce,这个应该是10ms的消抖,在程序中加了10ms的延迟(只试了100和10),发现程序并没有恢复正常。只好把de-bounce 删掉了
沙发
shen_hao|  楼主 | 2017-7-16 18:48 | 只看该作者
本帖最后由 shen_hao 于 2017-7-16 21:42 编辑

在测试GPIO 外部中断时,用另一块板子,设置为output,给0,延迟100ms,再给1。而测试的板子没有跳入中断

使用特权

评论回复
板凳
shen_hao|  楼主 | 2017-7-16 18:51 | 只看该作者
本帖最后由 shen_hao 于 2017-7-16 21:54 编辑

这个是在一块板子上
如果不删掉de-bounce,在测试gpio int程序实验结果为:设为双IO,双向边沿触发均可触发中断。              
PA9=0;
                CLK_SysTickDelay(100000);
                PA9=1;
                CLK_SysTickDelay(100000);
                PA9=0;
                 CLK_SysTickDelay(100000);
                //PA9=1;

当前情况,可捕获一个下降沿,第一个上升沿捕获不到,延迟10ms,还是不加延迟都是一样的结果。
但如果把注释掉第二个PA9重新放上去,就没有中断发生。无论延迟多少也同样没有中断产生。
以个人的理解,是应该要加延迟的,毕竟有10ms的消抖。做这个无聊的实验,是有自己的意图,希望懂的人帮帮忙,解析一下。

使用特权

评论回复
地板
bingkaiok| | 2017-7-16 19:05 | 只看该作者
看下手册,作输入用的,满足触发条件后进入中断函数

使用特权

评论回复
5
zhuotuzi| | 2017-7-17 15:11 | 只看该作者
你设置为输入了,你再通过输出寄存器配置成跳变,那是不接受的吧,必须的外部端口的电平变化才能引起中断。

使用特权

评论回复
6
zhuotuzi| | 2017-7-17 15:11 | 只看该作者
不过楼主的想法很新颖,哈哈,点个赞

使用特权

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

本版积分规则

79

主题

230

帖子

2

粉丝