|
카드 발급기마다 다른데.. 옛날 기억을 떠올려보면
전부 OR 또는 XOR 했던 것 같습니다. 현재 것은 XOR 한 것으로 보이네요
STX를 제외하고 컴맨드 부터 ETX까지 xor해보세요.
30 xor 32 xor 30 xor 35 xor 32 xor 31 xor 30 xor 30 xor x35 xor ETX
계산기를 HEX, 모드로 놓고 한번 해보세요.
그런데... 어느 회사 제품인가요? 예전에 썼던 것과 명령 처리 절차가 거의 같은 듯...
생각하자 님이 쓰신 글 :
: 안녕하세요~
: 많은 도움 주셔서 다 됐다고 생각했는데.. 아니었습니다. -_-
: 카드발급기 프로그램을 새로 만들어야 해서 만들고 있는데
: 발급기 업체에서는 스펙이외에는 가지고 있는데 없다고 하네요
: 그래서 제가 발급기 업체에서 테스트용 프로그램을 (물론 소스도 없답니다.--)
: 가지고 Serial Monitor 라는 모니터링 프로그램을 돌려서 값을 알아 냈습니다.
: 스펙에 있는 Command format 도 틀린게 있더군요
: 기본 format
: STX command Code(2byte) Data (n byte) ETX BCC
: 입니다.
: 근데 문제는 밑에 숫자가 제가 모니터링한 값입니다. 앞쪽 8자리가 제가 Write하고 싶은 값이고
: 05212005 <= 이게 Write 하려는 입력값
: 02 <= 이게 STX
: 30 32 <= 이게 Write command code 입니다.
: 30 35 32 31 32 30 30 35 <= 이게 Write 하려는 값
: 03 <= 이게 ETX 입니다.
: 근데 문제는 뒤에 붙는 한자리 hex값인데 뭔지 도저히 모르겠습니다.
: 맨뒤에 숫자는 혹시 몰라서 제가 Write 하려는 값의 합입니다.
: 영관성이 있는거 같기도 한데 중복되는 값들이 있어서 감을 못잡겠습니다.
: 꼭 맨뒤에 있는 (write하려는 합값이 아닌) 값이 들어가야만 장비가 동작을 합니다.
: 혹시 계산하는 법이나.. 알아내는 법칙같은게 있는지요...
: TEST 프로그램도 뭔가 계산을 해서 붙여 줄텐데... 으... 궁금합니다.
:
: 05212005 02 30 32 30 35 32 31 32 30 30 35 03 00 15
: 05212014 02 30 32 30 35 32 31 32 30 31 34 03 00 15
:
: 05212004 02 30 32 30 35 32 31 32 30 30 34 03 01 14
: 05212015 02 30 32 30 35 32 31 32 30 31 35 03 01 16
:
: 05212007 02 30 32 30 35 32 31 32 30 30 37 03 02 17
: 05212016 02 30 32 30 35 32 31 32 30 31 36 03 02 17
: 05212025 02 30 32 30 35 32 31 32 30 32 35 03 02 17
:
: 05212006 02 30 32 30 35 32 31 32 30 30 36 03 03 16
: 05212017 02 30 32 30 35 32 31 32 30 31 37 03 03 18
: 05212024 02 30 32 30 35 32 31 32 30 32 34 03 03 16
:
: 05212010 02 30 32 30 35 32 31 32 30 31 30 03 04 11
: 05212023 02 30 32 30 35 32 31 32 30 32 33 03 04 15
: 05212032 02 30 32 30 35 32 31 32 30 33 32 03 04 15
:
: 05212011 02 30 32 30 35 32 31 32 30 31 31 03 05 12
: 05212022 02 30 32 30 35 32 31 32 30 32 32 03 05 14
:
: 05212001 02 30 32 30 35 32 31 30 30 30 31 03 06 11
: 05212003 02 30 32 30 35 32 31 32 30 30 33 03 06 13
: 05212012 02 30 32 30 35 32 31 32 30 31 32 03 06 13
: 05212021 02 30 32 30 35 32 31 32 30 32 31 03 06 13
:
: 05212002 02 30 32 30 35 32 31 32 30 30 32 03 07 12
: 05212013 02 30 32 30 35 32 31 32 30 31 33 03 07 14
: 05212020 02 30 32 30 35 32 31 32 30 32 30 03 07 12
: 05212031 02 30 32 30 35 32 31 32 30 33 31 03 07 14
:
: 05212009 02 30 32 30 35 32 31 32 30 30 39 03 0C 19
: 05212018 02 30 32 30 35 32 31 32 30 31 38 03 0C 19
:
: 05212008 02 30 32 30 35 32 31 32 30 30 38 03 0D 18
: 05212019 02 30 32 30 35 32 31 32 30 31 39 03 0D 20
:
: 05212029 02 30 32 30 35 32 31 32 30 32 39 03 0E 21
:
: 05212028 02 30 32 30 35 32 31 32 30 32 38 03 0F 20
|