小白爱上51 发表于 2023-11-7 15:22:57

stc小白求教

各位STC资深大佬,我是工控小白,今日在学习modbus通信,代码有些看不懂,但在实际验证中还是有些收获和问题,还望各位指点迷津。

图中我将modbus_reg寄存器地址赋值 1 2 3 4,如果正常读4个寄存器,那么值是正常的,但是如果多读几个寄存器,比如我只有modbus_reg,modbus_reg,modbus_reg,modbus_reg赋值了,但我一次读了六个,按理说后两个值应该为0,为什么我读到了其他值,是谁赋值给他的?求各位指点指点。

王昱顺 发表于 2023-11-7 17:01:26

C语言的数组是没有越界保护的,所以读多了指定是读到内存里面其他的东西了。

小白爱上51 发表于 2023-11-9 17:05:08

王昱顺 发表于 2023-11-7 17:01
C语言的数组是没有越界保护的,所以读多了指定是读到内存里面其他的东西了。 ...

谢谢
页: [1]
查看完整版本: stc小白求教