发布于 2014-11-24 19:13:33
4楼
pulseNumbers : DINT;
position AT pulseNumbers : ARRAY [0..2] OF BYTE;
_servoPosition : STRUCT
STS_0 : BYTE;
STS_POS : ARRAY [0..2] OF BYTE;
END_STRUCT;
STS_TAR_POS : STRUCT
STS_0 : BYTE; // Multiplier G; Fa = Fb * R * G (value range 1 to 255)
STS_POS : ARRAY [0..2] OF BYTE;
(* STS_1BYTE---Distance (bit 19 to bit 16)
STS_2BYTE---Distance (bit 15 to bit 8)
STS_3BYTE---Distance (bit 7 to bit 0) (Value range for bytes 1 to 3 is 1 to 1 048 575)
*)
END_STRUCT;
_servoPosition.STS_POS := position;
以这种方式可以将DINT写到3个byte里,但仿真时,总觉得哪里怪怪的,有人说清楚吗?
天道酬勤,DayDayUp。