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