Changes for page 08 Communication

Last modified by Iris on 2025/07/24 15:23

From version 4.6
edited by Joey
on 2022/06/18 21:59
Change comment: Update document after refactoring.
To version 4.9
edited by Stone Wu
on 2022/07/07 15:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Joey
1 +XWiki.Stone
Content
... ... @@ -54,58 +54,46 @@
54 54  
55 55  (% class="table-bordered" %)
56 56  |(% style="text-align:center; vertical-align:middle" %)**Operate**|(% style="text-align:center; vertical-align:middle" %)**Command code**
57 -|(% style="text-align:center; vertical-align:middle" %)Read 16-bit function code|(% style="text-align:center; vertical-align:middle" %)0x03
57 +|(% style="text-align:center; vertical-align:middle" %)Read 16-bit/32-bit function code|(% style="text-align:center; vertical-align:middle" %)0x03
58 58  |(% style="text-align:center; vertical-align:middle" %)Write 16-bit function code|(% style="text-align:center; vertical-align:middle" %)0x06
59 +|(% style="text-align:center; vertical-align:middle" %)Write 32-bit function code|(% style="text-align:center; vertical-align:middle" %)0x10
59 59  
60 -**(1) Read function code: 0x03**
61 +**Read function code: 0x03**
61 61  
62 62  Request format:
63 63  
64 -(% class="table-bordered" %)
65 -|(% style="text-align:center; vertical-align:middle; width:84px" %)**Address**|(% style="text-align:center; vertical-align:middle; width:104px" %)**Function code**|(% style="text-align:center; vertical-align:middle; width:179px" %)(((
66 -**Initial address high byte**
67 -)))|(% style="text-align:center; vertical-align:middle; width:162px" %)(((
68 -**Initial address low byte**
69 -)))|(% style="text-align:center; vertical-align:middle; width:194px" %)(((
70 -**Number of reads high byte**
71 -)))|(% style="text-align:center; vertical-align:middle; width:195px" %)(((
72 -**Number of reads low byte**
73 -)))|(% style="text-align:center; vertical-align:middle; width:158px" %)**CRC check code**
74 -|(% style="text-align:center; vertical-align:middle; width:84px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:104px" %)03|(% style="text-align:center; vertical-align:middle; width:179px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:162px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:194px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:195px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:158px" %)2 bytes
65 +|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)**Initial address**|(% colspan="2" %)**Number of reads**|(% rowspan="2" %)**CRC check code**
66 +|**high byte**|**low byte**|**high byte**|**low byte**
67 +|1 byte|03|1 byte|1 byte|1 byte|1 byte|2 bytes
75 75  
76 76  Correct response format:
77 77  
78 -(% class="table-bordered" %)
79 -|(% style="text-align:center; vertical-align:middle; width:85px" %)**Address**|(% style="text-align:center; vertical-align:middle; width:139px" %)**Function code**|(% style="text-align:center; vertical-align:middle; width:244px" %)(((
80 -**Return data number of bytes**
81 -)))|(% style="text-align:center; vertical-align:middle; width:203px" %)(((
82 -**Register 1 high byte**
83 -)))|(% style="text-align:center; vertical-align:middle; width:190px" %)(((
84 -**Register 1 low byte**
85 -)))|(% style="text-align:center; vertical-align:middle; width:72px" %)…|(% style="text-align:center; vertical-align:middle; width:143px" %)**CRC check code**
86 -|(% style="text-align:center; vertical-align:middle; width:85px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:139px" %)03|(% style="text-align:center; vertical-align:middle; width:244px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:203px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:190px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:72px" %)…|(% style="text-align:center; vertical-align:middle; width:143px" %)2 bytes
71 +|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% rowspan="2" %)**Number of bytes of returned data**|(% colspan="2" %)**Register 1**|(% rowspan="2" %)**…**|(% rowspan="2" %)**CRC check code**
72 +|**high byte**|**low byte**
73 +|1 byte|03|1 byte|1 byte|1 byte|…|2 bytes
87 87  
88 -**(2) Write function code: 0x06**
75 +**Write function code: 0x06**
89 89  
90 90  Request format:
91 91  
92 -(% class="table-bordered" %)
93 -|(% style="text-align:center; vertical-align:middle" %)**Address**|(% style="text-align:center; vertical-align:middle" %)**Function code**|(% style="text-align:center; vertical-align:middle" %)**Register address high byte**|(% style="text-align:center; vertical-align:middle" %)**Register address low byte**|(% style="text-align:center; vertical-align:middle" %)**Data high byte**|(% style="text-align:center; vertical-align:middle" %)**Data low byte**|(% style="text-align:center; vertical-align:middle" %)**CRC check code**
94 -|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)06|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)2 bytes
79 +|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)(((
80 +**Register address**
81 +)))|(% colspan="2" %)**Data**|(% rowspan="2" %)**CRC check code**
82 +|**high byte**|**low byte**|**high byte**|**low byte**
83 +|1 byte|06|1 byte|1 byte|1 byte|1 byte|2 bytes
95 95  
96 96  Response format:
97 97  
98 -(% class="table-bordered" %)
99 -|(% style="text-align:center; vertical-align:middle" %)**Address**|(% style="text-align:center; vertical-align:middle" %)**Function code**|(% style="text-align:center; vertical-align:middle" %)**Register address high byte**|(% style="text-align:center; vertical-align:middle" %)**Register address low byte**|(% style="text-align:center; vertical-align:middle" %)**Data high byte**|(% style="text-align:center; vertical-align:middle" %)**Data low byte**|(% style="text-align:center; vertical-align:middle" %)**CRC check code**
100 -|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)06|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)2 bytes
87 +|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)**Register address**|(% colspan="2" %)**Data**|(% rowspan="2" %)**CRC check code**
88 +|**high byte**|**low byte**|**high byte**|**low byte**
89 +|1 byte|06|1 byte|1 byte|1 byte|1 byte|2 bytes
101 101  
102 102  If the setting is successful, the original is returned
103 103  
104 -(% class="table-bordered" %)
105 -|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**There should be a message interval not less than 3.5 characters at the beginning**|(% style="text-align:center; vertical-align:middle" %)**Address**|(% style="text-align:center; vertical-align:middle" %)**Function code**|(% style="text-align:center; vertical-align:middle" %)**Data**|(% style="text-align:center; vertical-align:middle" %)**CRC check code**
106 -|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)N bytes|(% style="text-align:center; vertical-align:middle" %)2 bytes
93 +|(% rowspan="2" %)**There should be a message interval not less than 3.5 characters at the beginning**|**Address**|**Function code**|**Data**|**CRC check code**
94 +|1 byte|1 byte|N bytes|2 bytes
107 107  
108 -== **CRC check** ==
96 +(% style="color:inherit; font-family:inherit; font-size:26px" %)**CRC check**
109 109  
110 110  The servo uses a 16-bit CRC check, and the host computer must also use the same check rule, otherwise the CRC check will make mistake. When transmitting, the low bit is in the front and the high bit is at the back. The CRC code are as follows:
111 111