[ARM入门] 怎么用软件实现下降沿的判别

[复制链接]
 楼主| 你好陌生人 发表于 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;
        }
}
上例有消抖作用,可放在定时中断中检测,或循环检查
 楼主| 你好陌生人 发表于 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))
{
........

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

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

}
阿南 发表于 2013-11-5 19:11 | 显示全部楼层
要自己试一下才行。不行再改,别人说了也不算
dirtwillfly 发表于 2013-11-5 22:27 | 显示全部楼层
huangxz 发表于 2013-11-5 22:28 | 显示全部楼层
慢的可以,快了可能软件识别会漏过去
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

152

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部