341的开发版的上位机的程序问题

UCHAR CCH341PARDlg::mCharToBcd(UCHAR iChar) { UCHAR mBCD; if ( iChar >= '0' && iChar <= '9' ) mBCD = iChar -'0'; else if ( iChar >= 'A' && iChar <= 'F' ) mBCD = iChar - 'A' + 0x0a; else if ( iCha r >= 'a' && iChar <= 'f' ) mBCD = iChar - 'a' + 0x0a; else mBCD = 0x00; return( mBCD ); }

PUCHAR CCH341PARDlg::mStrtoVal(PUCHAR str, ULONG strlen) { ULONG i,j; ULONG len; UCHAR strRev[mMAX_BUFFER_LENGTH]; if( strlen % 2 != 0 ) { str[strlen] = 0; strlen += 1; } len = strlen / 2; for(i=0,j=0;j { strRev[j] = (UCHAR)((mCharToBcd(str[i])<<4) + mCharToBcd(str[i+1])); i++; } strRev[j]='\0'; memcpy( str,strRev,len); return str; } ULONG CCH341PARDlg::mStrToBcd(CString str) { char mlen,i=0; UCHAR iChar=0,Char[9]=""; UINT mBCD=0,de=1; mlen=strlen(str); memcpy(Char,str,mlen); for(i=mlen-1;i>=0;i--) { iChar=Char[i]; if ( iChar >= '0' && iChar <= '9' ) mBCD = mBCD+(iChar -'0')*de; else if ( iChar >= 'A' && iChar <= 'F' ) mBCD =mBCD+ (iChar - 'A' + 0x0a)*de; else if ( iChar >= 'a' && iChar <= 'f' ) mBCD =mBCD+ (iChar - 'a' + 0x0a)*de; else return(0); de*=16; } return(mBCD); },请问这三个函数做什么用的???

自定义的字符与十进制/十六进制的格式转换函数.


具体点好吗,第三个我倒知道。前两个什么意思?


有没有公司的人啊?回答一下急用!!


mCharToBcd()将一个十六进制字符转为十进制数值 mStrtoVal()将一组十六进制字符串,每两位作为一组十六进制字符转换为相应的数值. mStrToBcd()将一个长整数字符转换为相应的十进制数值.


谢谢拉!


只有登录才能回复,可以选择微信账号登录