关于MODBUS的写寄存器的问题

2019-07-20 10:53发布

现在用MODBUS通讯,遇到了一些问题,在网站搜索没有类似的问题出现,想请教一下各位大佬。
我用的06码去写寄存器,代码如下:
        if(Reg[2]==0x0003)  {
             Reg[3]=0x0003;
             LED1=0;
     }

     else
   {
             LED1=1;

  }

   if(Reg[2]==0x0004)
{
          Reg[3]=0x0003;
         LED2=0;
}
     else
   {
             LED2=0;
  }


if(Reg[3]==0x004)
{       Reg[2]=0x0002;
         LED3=0;
}
else
{
        LED3=1;
}

1,用调试modbus调试精灵先去写3号寄存器,数值为3,写入成功,LED3小灯点亮;然后我又写2号寄存器,数值任意,LED3小灯灭,LED2亮;
接着问题出现了,我还是写3号寄存器,数值为3,写入成功,可是小灯不亮了?但为什么写入成功了呢?
2.用调试modbus调试精灵先去写2号寄存器,数值依次为3,4,小灯正常亮灭,但当我写3号寄存器的时候问题又出现了,小灯不亮了;

各位大神,求教啊,之前弄过MODBUS,只写了06和03码,现在出现问题了,却不知道哪里有问题,还望各位大佬给指点迷津,谢谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。