HoldStart:通讯保持寄存器在内存中的起始地址。
如果HoldStart=&VB0,那么0x 03 00 00 00 01 CR CR 读取的就是VW0的值;
如果HoldStart=&VB4000,那么0x 03 00 00 00 01 CR CR 读取的就是VW4000的值;
1 如果HoldStart=&VB0,那么HoldStart,HoldStart+2就是VW0,VW2。
2 实在不懂你第二点想说的什么。
modbus协议中,有01、05、15是对位进行操作的功能码。V0.0你只能在上位机软件里面对一个保持寄存器中的值进行与操作。比如保持寄存器中的值是0x23H,与0x01与操作(23H AND 01H),结果就是1;如果保持寄存器中的值是0x22H,与0x01与操作(22H AND 01H),结果就是0。所以,要取V寄存器中的哪一位,就用保持寄存器的值与二进制对应的权值进行与操作就取得该位的值。取V0.1就与0x02,取V0.7就与0x80。