Browse Source

fix bug

master
tianjialong 2 years ago
parent
commit
091d4b7600
  1. BIN
      testtool/舵机校验计算工具/a.exe
  2. 10
      testtool/舵机校验计算工具/main.c

BIN
testtool/舵机校验计算工具/a.exe

10
testtool/舵机校验计算工具/main.c

@ -7,7 +7,7 @@
#define DATA_LEN 3
#define DATA_TYPE 4
#define DATA_CHECKSUM_START 4
#define DATA_CHECKSUM_START 5
/*
* FF FF FE 07 03 2A 08 00 03 E8 DA
@ -32,9 +32,12 @@ uint8_t steering_gear_check_sum(int *buffer, int buffer_size) {
}
checksum = (buffer[DATA_ID] + buffer[DATA_LEN] + buffer[DATA_TYPE]); //
// printf("checksum:%d\n", checksum);
// checksum把数据长度算里面了
for (int i = 0; i < (buffer[DATA_LEN] - 2); i++) {
// printf("buffer:0x%x\n", buffer[DATA_CHECKSUM_START + i]);
checksum += buffer[DATA_CHECKSUM_START + i];
// printf("checksum:0x%x\n", checksum);
}
return ((~checksum) & 0xff);
@ -67,9 +70,10 @@ int get_int_buffer_len(int *buffer, int buffer_size) {
* 0xFF, 0xFF, 0x01, 0x02, 0x06
*/
int main(int argc, char *argv[]) {
int buffer[128] = {0xFF, 0xFF, 0x01, 0x04, 0x02, 0x38, 0x02}; //
int buffer[128] = {0xFF, 0xFF, 0x01, 0x04, 0x03, 0x1E, 0x05}; //
printf("check sum:0X%x\n", steering_gear_check_sum(buffer, get_int_buffer_len(buffer, (sizeof(buffer) / sizeof(int)))));
printf("check sum:0X%x\n",
steering_gear_check_sum(buffer, get_int_buffer_len(buffer, (sizeof(buffer) / sizeof(int)))));
return 0;
}
Loading…
Cancel
Save