#define MAKEBYTE(hi, lo)   ((unsigned char)0xF0 & (hi << 4)) | ((unsigned char)0x0F & (lo))
#define HIBYTE(w)    ((unsigned char)0xF0 & w) >> 4
#define LOBYTE(w)    ((unsigned char)0x0F & w);

 

 

unsigned char cSum = 0;

 //cSum = sTemp[0] | sTemp[1] << 4;
 cSum = MAKEBYTE(sTemp[0], sTemp[1]);

 sTemp[2] = HIBYTE(cSum);
 sTemp[3] = LOBYTE(cSum);

 

 

4비트 단위로 쪼개면 각각 0~15 값(2의 4승) 까지만 사용 가능

 

 

 

저작자 표시 비영리 변경 금지
신고

다른 카테고리의 글 목록

Programming/C/C++ 카테고리의 포스트 목록