Browse Source

改为16位长度避免截断

master
Lizongdi 2 days ago
parent
commit
625fe9662c
  1. 4
      library/common/common.c
  2. 2
      library/common/include/common.h

4
library/common/common.c

@ -105,11 +105,11 @@ char *Rd_GetBuildTime(void)
return g_sBuildTime; 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; 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];

2
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_FileExists(const char *_psPath);
int Rd_RegularFileExists(const char *_psPath); int Rd_RegularFileExists(const char *_psPath);
char *Rd_GetBuildTime(void); 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 #ifdef BUILD_LOG
extern void Rd_ElogEnableStrong(void); extern void Rd_ElogEnableStrong(void);

Loading…
Cancel
Save