diff --git a/library/common/common.c b/library/common/common.c index bb30ae3..eacac22 100644 --- a/library/common/common.c +++ b/library/common/common.c @@ -105,13 +105,13 @@ char *Rd_GetBuildTime(void) return g_sBuildTime; } -uint16_t Rd_modbusCRC16(char *data, uint8_t length) +uint16_t Rd_modbusCRC16(const uint8_t *data, uint16_t length) { uint16_t crc = 0xFFFF; - for (uint8_t i = 0; i < length; i++) + for (uint16_t i = 0; i < length; i++) { - crc ^= (uint16_t)data[i]; + crc ^= (uint16_t)data[i]; for (uint8_t j = 0; j < 8; j++) { diff --git a/library/common/include/common.h b/library/common/include/common.h index b69d6fc..5419730 100644 --- a/library/common/include/common.h +++ b/library/common/include/common.h @@ -158,7 +158,7 @@ int Rd_Array2String(char *_pRes, int _iLen, char *_pSrc[], int _iNum, char *_Ptr int Rd_FileExists(const char *_psPath); int Rd_RegularFileExists(const char *_psPath); char *Rd_GetBuildTime(void); -uint16_t Rd_modbusCRC16(char *data, uint8_t length); +uint16_t Rd_modbusCRC16(const uint8_t *data, uint16_t length); #ifdef BUILD_LOG extern void Rd_ElogEnableStrong(void);