'유틸리티' 카테고리의 다른 글
| Windows XP용 계산기 (0) | 2013.01.25 |
|---|---|
| 드라이버 자동찾기 - 3DP Chip (0) | 2013.01.21 |
| USB Serial 최신 드라이버 (0) | 2013.01.21 |
| 알집(ALZ) 포맷 무설치 압축해제 툴 (0) | 2012.12.27 |
| [자료] zterm (0) | 2012.12.25 |
| Windows XP용 계산기 (0) | 2013.01.25 |
|---|---|
| 드라이버 자동찾기 - 3DP Chip (0) | 2013.01.21 |
| USB Serial 최신 드라이버 (0) | 2013.01.21 |
| 알집(ALZ) 포맷 무설치 압축해제 툴 (0) | 2012.12.27 |
| [자료] zterm (0) | 2012.12.25 |
1. 인텔 방식
unsigned char CalcChecksum(unsigned char *data, int leng)
{
unsigned char csum;
csum = 0xFF;
for (;leng > 0;leng--)
csum += *data++;
return ~csum;
}
:10010000214601360121470136007EFE09D2190140 :100110002146017EB7C20001FF5F16002148011988 :10012000194E79234623965778239EDA3F01B2CAA7 :100130003F0156702B5E712B722B732146013421C7 :00000001FF
Start code Byte count Address Record type Data Checksum
데이터만 더하면
:100130003F0156702B5E712B722B732146013421C7
FF + 10 + 01 + 30 + 3F + 01 + 56 + 70 + 2B + 5E + 71 + 2B + 72 + 2B +73 + 21 + 46 + 01 + 34 + 21
= 538
한바이트로 모듈라를 취하고, 다시 1의 보수를 취하면 계산이 끝난다. ~38 = C7
2. 모토로라 방식
unsigned char CalcChecksum(unsigned char *data, int leng)
{
unsigned char csum;
csum = 0;
for (;leng > 0;leng--)
csum += *data++;
return 0xFF - csum;
}
S00F000068656C6C6F202020202000003C S11F00007C0802A6900100049421FFF07C6C1B787C8C23783C6000003863000026 S11F001C4BFFFFE5398000007D83637880010014382100107C0803A64E800020E9 S111003848656C6C6F20776F726C642E0A0042 S5030003F9 S9030000FC
Start code Record type Byte count Address Data Checksum
데이터만 더하면
S111003848656C6C6F20776F726C642E0A0042
11 + 00 + 38 + 48 + 65 + 6C + 6C + 6F + 20 + 77 + 6F + 72 + 6C + 64 + 2E + 0A +00 = 4BD
4BD에서 한바이트로 모듈라를 취하고, 0xFF에서 빼면 계산이 끝난다.
FF - BD = 42
| [외부문서] A look at PDP Context in UMTS networks (0) | 2016.07.09 |
|---|---|
| WPS (Wi-Fi Protected Setup Specification) 규격 (0) | 2013.01.21 |
| Wi-Fi (802.11) 규격 (0) | 2013.01.21 |