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.

zstack协议栈中端口状态已经改变,但是不能给全局变量赋值

void write_my_para()
{
if(P0 != switchstatus)
{
//osal_nv_item_init( ZCD_NV_OUT_STAT, 1, NULL );
switchstatus = P0;
}
}

在zstack协议栈里使用编写的这段代码,函数功能是当P0端口状态改变之后把新的状态值保存到一个全局变量。每次协调器发送控制指令P0端口都会响应,但是进不了if语句。

有两种情况可以进if语句保存P0端口新状态:一种方法是把同一条指令发送两遍;另一种方法是调试的时候设置了断点,可以一次进入。

请问这个问题出在什么地方?是速度太快吗?如果速度太快的话为什么第二次就可以改写状态,还是P0口需要其他的设置。