下面是我的核心代码,当前的光照值大于我设置的阈值,当我把传感器遮挡的时候,可以进入中断函数,但是当我再次遮挡的时候,却进入不了中断函数,这是为什么呢?我的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;
}
}