modbus RTU 통신 프로토콜에서 CRC 검사 코드 세그먼트
731 단어 개인 요약
void CrcCheck(unsigned char *buf,unsigned char len)
{
unsigned short crc = 0xFFFF;
unsigned char i,j=0;
while(j < len)
{
crc ^= buf[j];
for(i = 0; i < 8; i++)
{
if(crc & 0x01){
crc >>= 1;
crc ^= 0xA001;
}
else
crc >>= 1;
}
j++;
}
buf[j] = crc % 0x100;
buf[j+1]=crc / 0x100;
}
int main(void)
{
char i = 0;
unsigned char data[8]={0x01,0x03,0x00,0x00,0x00,0x01};
CrcCheck(data,6);
for(i = 0; i< 8; i++)
printf("data[%d]:%x\r
",i,data[i]);
}
이상은 CRC 체크에 대해 다항식 0XA001을 생성하는 CRC 체크에 대한 생성 코드입니다. 잘못된 점이 있으면 지적해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
part 큰 디스크 구분창설 작업이 2T보다 큰 구역을 만드는 일반적인 상황에서 우리는 fdisk 도구를 사용하여 구역을 나누는 것을 선택했지만 현재 실제 생산 환경에서 사용하는 디스크 공간이 점점 커지고 TiB급으로 증가했다.자주 사용하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.