본문 바로가기
코스웨어/14년 스마트컨트롤러

20141016업무일지 7번 김재성

by 알 수 없는 사용자 2014. 10. 16.
728x90
반응형

CRC16값을 쉽게 넣어봅시다.

-------------------------------------------------------------------------------------------

함수본체

void *를 인자를 받아서 CRC16값을 만들기 위함

((unsigned char *)DATA)로 형변환 해줌 (char *로 형변환, 배열의 이름은 어차피주소니까 char 배열과 같음 )

CRC_PRESET과 CRC_POLYNOM은 Char형 변수로 만들지 않고 #define으로 상수로변경 


-------------------------------------------------------------------------------------------

숫자1을 누르면 DEVICE로 데이터가 ucHostComm의 데이터를 보내는데 CRC값을 자동으로 채워주자!

간단하게 정리하면 ucHostComm[0] + ucHostComm[0][0]-2 = CRC16( );

                           아래 배열의 주소 + 첫번째 값0x0D-2 == 원래 주소 +11이다.

이주소값을 다시 short *로 바꾸면 해결( CRC16함수의 반환값이 unsigned short형)

ucHostComm[0][0]이 명령어 전체길이를 알수있어서 가능한 방법



그러면 데이터 시트를 보자.


이명령어를 0~4번배열 까지만 써주면 CRC코드는 5~6번에는 자동바뀌어서 들어가게끔 해놨었다. 



결론: 이명령어를 실행하고, 트랜스폰더(ID카드)를 리더기에 대면 

   호스트에 UID(고유식별자)및 정보가 온다.


------------------------------------------------------------------------

C++



오늘은 좀 ㅈㅅㅈㅅ

728x90