打印
[ARM入门]

怎么用软件实现下降沿的判别

[复制链接]
1426|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
你好陌生人|  楼主 | 2013-11-3 22:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
阿南| | 2013-11-4 10:35 | 只看该作者
那只能用查寻了,
先扫描他在高电平置一个标志位,然后检查他是否已变为低。
最好是设置成下降沿的中断触发方式

使用特权

评论回复
板凳
sogo| | 2013-11-5 10:53 | 只看该作者
void Chk_Button(void)
{
        static INT8U delay = 0;
        if  (!PIN_Button)
        {
                if (delay < 3)
                {
                        if (++delay == 3)
                        {
                                ;;;;;+++++
                        }
                }
        }
        else
        {
                delay = 0;
        }
}

使用特权

评论回复
地板
sogo| | 2013-11-5 10:56 | 只看该作者
void Chk_Button(void)
{
        static INT8U delay = 0;
        if  (!PIN_Button)
        {
                if (delay == 0)
                {
                        ;;;;;+++++
                }
                delay = 1;
        }
        else
        {
                delay = 0;
        }
}
上例有消抖作用,可放在定时中断中检测,或循环检查

使用特权

评论回复
5
你好陌生人|  楼主 | 2013-11-5 18:44 | 只看该作者
sogo 发表于 2013-11-5 10:56
void Chk_Button(void)
{
        static INT8U delay = 0;

我这样写可以不
reg=P1^1
if((reg==1)&&(P1^1==0))
{
........

}

使用特权

评论回复
6
你好陌生人|  楼主 | 2013-11-5 18:46 | 只看该作者
阿南 发表于 2013-11-4 10:35
那只能用查寻了,
先扫描他在高电平置一个标志位,然后检查他是否已变为低。
最好是设置成下降沿的中断触发 ...

版主  我这样写可以不
reg=P1^1
if((reg==1)&&(P1^1==0))
{
........

}

使用特权

评论回复
7
阿南| | 2013-11-5 19:11 | 只看该作者
要自己试一下才行。不行再改,别人说了也不算

使用特权

评论回复
8
dirtwillfly| | 2013-11-5 22:27 | 只看该作者

使用特权

评论回复
9
huangxz| | 2013-11-5 22:28 | 只看该作者
慢的可以,快了可能软件识别会漏过去

使用特权

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

本版积分规则

20

主题

152

帖子

1

粉丝