generated from hulk/gd32e23x_template
add calculate CRC function
This commit is contained in:
15
src/rs485.c
15
src/rs485.c
@@ -53,3 +53,18 @@ void process_command(char *cmd) {
|
||||
printf("Invalid Command!\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t calculate_crc(uint8_t package_header[3], uint8_t package_data[], size_t data_length) {
|
||||
uint8_t crc = 0;
|
||||
|
||||
/* Calculate CRC for header */
|
||||
for (int i = 1; i < 3; i++) {
|
||||
crc += package_header[i];
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < data_length; i++) {
|
||||
crc += package_data[i];
|
||||
}
|
||||
|
||||
return (uint8_t)(crc & 0xFF);
|
||||
}
|
||||
|
Reference in New Issue
Block a user