打印

pic16f690上升沿中断设置是否正确?

[复制链接]
3229|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我是土匪|  楼主 | 2011-3-4 12:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RA2输入脉冲信号,每次在上升沿触发中断,初始化代码和中断代码那如下,请问是否有问题?


/***********************************************************
函数说明:端口(RA2)电平变化中断初始化
***********************************************************/
void Int_IRQ(void)
{
        TRISA |= 0xb00000100;   //RA2输入

              IOCA |= 0B00000100;                //允许RA2电平中断
        INTCON |= 0B11011000;   //打开中断总开关GIE,允许电平变化中断
        INTEDG = 1;                                //上升沿中断                       
}

中断函数代码:
/*************************************************
中断服务函数:来一次中断计数一次,累计四次,清零
*************************************************/
void interrupt INT(void)
{
        if(INTE && INTF )           //  升沿 中断处理               
        {
                 if(INTEDG)             //上升沿处理
                {
                        PORTA = PORTA;
                        INTF=0;
                                          INTE=1;
                }
        }
}
沙发
yewuyi| | 2011-3-4 17:13 | 只看该作者
void interrupt INT(void)
{
        if(INTE && INTF )           //  升沿 中断处理               
        {
                 if(INTEDG)             //上升沿处理
                {
                        PORTA = PORTA;
                        INTF=0;
                                          INTE=1;
                }
        }
}

要【if(INTEDG)】这个干什么!?

使用特权

评论回复
板凳
我是土匪|  楼主 | 2011-3-4 17:29 | 只看该作者
确定上升沿,有点多余

使用特权

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

本版积分规则

个人签名:抢钱、抢粮、抢女人! https://shop105961755.taobao.com/index.htm?spm=2013.1.w5002-3338070316.2.f652157E8BRIA

226

主题

1761

帖子

30

粉丝