Instruction manual

IrDA Protocol
1. Transmission control character
SYMBOL VALUE SYMBOL VALUE
SOH
STX
ETX
PR_RES(ACK)
PR_RES(NAK)
01h
02h
03h
06h
15h
PR_RES(WAIT)
PR_START
PR_END
PR_DATA
PR_STAT
3Bh
31h
32h
33h
34h
2. FCS Calculation
2.1 Polynomial(CCITT X.25 )
2.2 Examination( "C" Language)
union u_crc{
unsigned char low;
unsigned char buf[2];
unsigned int value;
}crc;
unsigned int crctable[260];
void Crc(unsigned char value){ crc.value=crc.buf[1] ^ crctable[crc.low^value] ;}
void CrcTableMake(void){
unsigned int i,j,k;
for(i=0;i<256;i++){
k=i;
for(j=0;j<8;j++){
if(k&1) k=(k>>1)^0x8408U;
else k>>=1;
}
crctable[i]=k;
}
void main(void){
crc.value=0xFFFFU; //Init
Crc(0x30);
Crc(0x31);
printf("Result:0x%04X\n",crc.value^0xFFFFU);
}
3. Transmmission Format
3.1 Status check
<State Response>
<State Command >