This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

opt3001的中断触发问题?

Other Parts Discussed in Thread: OPT3001

下面是我的核心代码,当前的光照值大于我设置的阈值,当我把传感器遮挡的时候,可以进入中断函数,但是当我再次遮挡的时候,却进入不了中断函数,这是为什么呢?我的config配置的是0x54,0x10(配置完后读取出来config是5490)

//光照下限和上限配置

void Init_OPT3001_IN(){
Get_OPT3001_Result();
if(((TXBuf[0]<<8|TXBuf[1])&0xFFF)>=cfg_para_opt3001.lignt_limit_ths)
{
g_DoorStatus = DOOR_OPEN;
Set_OPT3001_Low_Limit( cfg_para_opt3001.lignt_limit_ths );
Get_OPT3001_Status();
}
else if(TXBuf[1]<cfg_para_opt3001.lignt_limit_ths)
{
g_DoorStatus = DOOR_CLOSE;
Set_OPT3001_High_Limit( cfg_para_opt3001.lignt_limit_ths );
Get_OPT3001_Status();
}
}

//中断函数

void OPT3001CallbackFxn(PIN_Handle handle, PIN_Id pinId) {
switch (pinId) {
case OPT3001_INT:
paomadeng_opt3001();
break;
}
}