CRC - 16 소스 수정할려고 하는데 어떻게 해야할지.. 질문드립니다.
CRC - 16을 사용하기 위하여 여러가지 소스를 참고하고 있습니다.
아래의 CRC-16 precursor를 사용하여 아래의 소스를 수정코자 합니다.
다항식의 값(Polynomial)을 0x1021, 0x8408로 바꾸어 가며 테스트 해보았습니다.
결과에는 문제가 없는듯 한데...
도대체 아래의 Precursor를 따르기 위해서 무엇을 어떻게 바꾸어야 할지 모르겠습니다.
0x1021을 사용해야하는지.. 0x8408을 사용해야하는지도 모르겠고..
특히, Residue 라는 0x1D0F라는 값은 어따가 써먹어야하는지 감이 안잡힙니다.
도움주시는 말 한마디만 부탁드리겠습니다.
* CRC-16 precursor *
CRC Type : ISO/IEC 13239
Length : 16bits
Polynomial : X^16 + X^12 + X^5 +1
Preset : 0xFFFF
Residue : 0x1D0F
즉, 님의 디바이스에서 보내오는 데이터 샘플을 가지고 CRC 체크를 시도할때 쓰여야할 값들인 것으로 생각됩니다.
제시된 값들이 대응되는 소스의 부분부분을 수정해야 할듯 하네요.
참고할 만한 내용이 있는 주소입니다.
http://moohantec.com/neboard/show.asp?id=qna&ref=3131&step=2&level=1&page=140
도움이 되었길 바라겠습니다.
>CRC - 16 소스 수정할려고 하는데 어떻게 해야할지.. 질문드립니다.
>
> CRC - 16을 사용하기 위하여 여러가지 소스를 참고하고 있습니다.
>아래의 CRC-16 precursor를 사용하여 아래의 소스를 수정코자 합니다.
>다항식의 값(Polynomial)을 0x1021, 0x8408로 바꾸어 가며 테스트 해보았습니다.
>결과에는 문제가 없는듯 한데...
>도대체 아래의 Precursor를 따르기 위해서 무엇을 어떻게 바꾸어야 할지 모르겠습니다.
>0x1021을 사용해야하는지.. 0x8408을 사용해야하는지도 모르겠고..
>특히, Residue 라는 0x1D0F라는 값은 어따가 써먹어야하는지 감이 안잡힙니다.
>도움주시는 말 한마디만 부탁드리겠습니다.
>
>* CRC-16 precursor *
>CRC Type : ISO/IEC 13239
>Length : 16bits
>Polynomial : X^16 + X^12 + X^5 +1
>Preset : 0xFFFF
>Residue : 0x1D0F