电子元器件论坛
直播中

chunhuahua

8年用户 1354经验值
擅长:接口/总线/驱动
私信 关注

关于调试ADE7880D电压电流的过零中断问题求解

您好,最近在调试ADE7880D电压电流的过零中断问题,调试i电流过零中断的时候我B相输入加入50HZ电流,观察中断波形,刚开始的时候进去中断了,在中断里读status1的中断然后回写进行清中断,但是运行一段时间之后再看就进不去中断了,status1寄存器读出来的值跟刚开始时候不一样了,是不是这个地方写错了 呢。
我的中断配置是 SPIWrite4Bytes(MASK1,BIT13);//#define BIT13 0x2000 在这里开启b相电流过零中断的IRQ
中断处理函数:
void EXti0_IRQHandler(void)//IRQ1
{


     if(EXTI_GetITStatus(EXTI_Line0) != RESET)
     {
           EXTI_ClearITPendingBit(EXTI_Line0);


           IRQStautsRead3=SPIRead4Bytes1(STATUS1);
          SPIWrite4Bytes1(STATUS1,(IRQStautsRead3));
           if(((IRQStautsRead3 BIT13)==BIT13)  (IRQStautsRead3!=0xffffffff)  (IRQStautsRead3!=0x0))
      {

            Flash_LED1 ;

             q++;
            if(q>1000)
            q=0;
       }

    }

}
还有请问7880sip的clock推荐是多少我根据数据手册查的算出来是clk:250Hz~25000000Hz ,我选择的是84M/128=656250Hz的spi时钟速度,这个地方时钟选择有没有问题。谢谢!!


                                                               

更多回帖

发帖
×
20
完善资料,
赚取积分