串列埠字元轉十六進位制
int strHex2int(char *inBuf,unsigned char *sendBuf,int len)
{
int index=0;
int resdex=0;
memset(sendBuf,0,sizeof(unsigned char)*15);
if(inBuf==NULL||sendBuf==NULL)
return -1;
system_log("###### len %d",len);
for(index=0;index<len;index++)
{
system_log("##### index:%d",index);
if(inBuf[index]>='0'&&inBuf[index]<='9')
sendBuf[resdex]=inBuf[index]-'0';
else if(inBuf[index]>='a'&&inBuf[index]<='f')
sendBuf[resdex]=inBuf[index]-'a'+10;
else if(inBuf[index]>='A'&&inBuf[index]<='F')
sendBuf[resdex]=inBuf[index]-'A'+10;
else if(inBuf[index]==' ')
continue;
else
return -1;
index++;
if(inBuf[index]>='0'&&inBuf[index]<='9')
sendBuf[resdex]=inBuf[index]-'0'+sendBuf[resdex]*16;
else if(inBuf[index]>='a'&&inBuf[index]<='f')
sendBuf[resdex]=inBuf[index]-'a'+10+sendBuf[resdex]*16;
else if(inBuf[index]>='A'&&inBuf[index]<='F')
sendBuf[resdex]=inBuf[index]-'A'+10+sendBuf[resdex]*16;
else if(inBuf[index]==' ')
continue;
else
return -1;
system_log("######sendBuf[%d]: 0x%02x",resdex,sendBuf[resdex]);
if(resdex>=15)
return -1;
resdex++;
}
return resdex;
}