2005-12-15 22:09:00 idhzone
:
:::swr 1e 4 0 0 2 80 0 1 0 1 80 0
:::
:
:ID 0을 0x0200위치에 속도 0x0080으로 이동시키는 명령이
:
:왜 "0 2 80 0" 으로 바뀌나요?
:
:예를들어 ID 0을 0x1ff위치에 0x3ff속도로 이동시키려면
:명령을 어떻게 내려야 할까요?
:
:
Little Endian/Big Endian의 개념을 알고 계시면 쉽게 이해가 될 것입니다. WORD형을 저장할때 상위와 하위 바이트 순서를 바꾸어 저장하는 방식을 Little Endian방식이라고 합니다. 이 방식은 가장 일반적으로 사용되는 Byte저장 방식입니다.
따라서, 0x0200은 상위 0x02 하위 0x00으로 이루어져 있으므로 표현하면 0x00 0x02가 되는 것입니다.
swr 뒤의 Byte 순서들은 이렇게 바뀌어 입력되게 됩니다.
질문하신 ID 0을 0x1ff위치에 0x3ff속도로 이동시키려면
Goal position address가 0x1e이고 총 써 넣을 byte 수는 4byte(Goal position 2byte, Moving speed 2byte)이므로
swr 1e 4 0 ff 1 ff 3 이 됩니다.