这是一段用来跟一个硬件设备通信的部分代码,其中有一些不太明白,请帮忙看下char szFrameID[9];
char szData[25];
CString m_EditSendFrmID   //文本框对应的变量,对应发送数据帧ID
CString m_EditSendData;   //对应发送的数据
int CP9820TestDlg::strtodata(unsigned char *str, unsigned char *data,int len,int flag)//str:要转换的字符串;data:存储转换过来的数据串;len:数据长度;此函数的功能为将字符串转换为数据串。        
memcpy(&szFrameID[8-m_EditSendFrmID.GetLength()],(LPCTSTR)m_EditSendFrmID,m_EditSendFrmID.GetLength());  //szFrameID[8-m_EditSendFrmID.GetLength()]?? 为什么用8减
strtodata((unsigned char*)szFrameID,FrameID,4,0); datalen=(m_EditSendData.GetLength()+1)/3;        //???(+1)/3干什么
strcpy(szData,(LPCSTR)m_EditSendData);
strtodata((unsigned char*)szData,Data,datalen,1);