Changes for page 08 Communication

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

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

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Stone
1 +XWiki.Joey
Content
... ... @@ -54,44 +54,58 @@
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/32-bit function code|(% style="text-align:center; vertical-align:middle" %)0x03
57 +|(% style="text-align:center; vertical-align:middle" %)Read 16-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
60 60  
61 -**Read function code: 0x03**
60 +**(1) Read function code: 0x03**
62 62  
63 63  Request format:
64 64  
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
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
68 68  
69 69  Correct response format:
70 70  
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
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
74 74  
75 -**Write function code: 0x06**
88 +**(2) Write function code: 0x06**
76 76  
77 77  Request format:
78 78  
79 -|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)**Initial address**|(% colspan="2" %)**Number of reads**|(% rowspan="2" %)**CRC check code**
80 -|**high byte**|**low byte**|**high byte**|**low byte**
81 -|1 byte|06|1 byte|1 byte|1 byte|1 byte|2 bytes
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
82 82  
83 83  Response format:
84 84  
85 -|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)**Initial address**|(% colspan="2" %)**Number of reads**|(% rowspan="2" %)**CRC check code**
86 -|**high byte**|**low byte**|**high byte**|**low byte**
87 -|1 byte|06|1 byte|1 byte|1 byte|1 byte|2 bytes
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
88 88  
89 89  If the setting is successful, the original is returned
90 90  
91 -|(% rowspan="2" %)**There should be a message interval not less than 3.5 characters at the beginning**|**Address**|**Function code**|**Data**|**CRC check code**
92 -|1 byte|1 byte|N bytes|2 bytes
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 93  
94 -(% style="color:inherit; font-family:inherit; font-size:26px" %)**CRC check**
108 +== **CRC check** ==
95 95  
96 96  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:
97 97