OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 705|回复: 5

关于MODBUS的写寄存器的问题

[复制链接]

  离线 

15

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
金钱
443
注册时间
2017-7-11
在线时间
89 小时
发表于 2017-11-13 19:47:55 | 显示全部楼层 |阅读模式
5金钱
现在用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码,现在出现问题了,却不知道哪里有问题,还望各位大佬给指点迷津,谢谢了!

回复

使用道具 举报

  离线 

31

主题

155

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2015-11-29
在线时间
90 小时
发表于 2017-11-13 20:26:26 | 显示全部楼层
Reg[2]是16位的吗?
回复

使用道具 举报

  离线 

15

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
金钱
443
注册时间
2017-7-11
在线时间
89 小时
 楼主| 发表于 2017-11-14 08:20:55 | 显示全部楼层

恩恩,是的,
回复

使用道具 举报

  离线 

15

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
金钱
443
注册时间
2017-7-11
在线时间
89 小时
 楼主| 发表于 2017-11-14 14:01:11 | 显示全部楼层
回复

使用道具 举报

  离线 

18

主题

108

帖子

0

精华

高级会员

Rank: 4

积分
569
金钱
569
注册时间
2015-10-9
在线时间
206 小时
发表于 2017-11-19 18:28:40 | 显示全部楼层

用什么软件调试的?
回复

使用道具 举报

  离线 

15

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
金钱
443
注册时间
2017-7-11
在线时间
89 小时
 楼主| 发表于 2017-11-19 19:56:25 | 显示全部楼层

modbus调试精灵
1511092415(1).png

就这个图片

就这个图片
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




关闭

报名原子哥新品发布会&粉丝见面会上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-10-20 03:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */