|
esp8266-12F开发板,SOC方案32M生成包中,在GPIO中断触发函数中进行如下操作
if( pin_status & BIT( 2 ) )
{
if(currentDataPoint.valuebIsLightOpen == 1)
{
currentDataPoint.valuebIsLightOpen = 0;
}
else
{
currentDataPoint.valuebIsLightOpen = 1;
}
//os_timer_disarm(&mytimerOnOff);
//os_timer_setfn(&mytimerOnOff,(os_timer_func_t *)mytimergpio2,NULL);
//os_timer_arm(&mytimerOnOff,1000,0);
}
定时器函数中进行的是与数据点无关的操作
预期是当触发GPIO2中断时,一次执行赋值为0,一次执行赋值为1
实际情况是,若打开定时器注释,则出现currentDataPoint.valuebIsLightOpen = 1;必定失败,赋值为0则可以成功。
如果注释掉定时器,则一切正常。
麻烦管理大大看下
|
|