串口接收数据时有效数据的长度的问题
时间:10-02
整理:3721RD
点击:
各位高手:
有个问题想不明白,想求助一下大家:
我做了一个串口的上位机软件,接收的数据位数据格式: 1位起始位,8位数据位,1位停止位,奇校验.
程序就是网上经常出现的:
VARIANT variant_tmp; //建立用于数据转换的变量 COleSafeArray safearray_tmp;
LONG len,i;
int j=0;
// unsigned char *uchar_str;
BYTE buf[2048]; //定义一个字节数组
CString str_tmp;
if(m_ctrlMSCOMM1.GetCommEvent()==2)
{
variant_tmp=m_ctrlMSCOMM1.GetInput(); //读取接收缓冲区的字符
safearray_tmp = variant_tmp; // 转换为ColeSafeArray型变量
len=safearray_tmp.GetOneDimSize();
for(i=0; i<len; i++) // 转换为BYTE型数组
safearray_tmp.GetElement(&i,buf+i);
for(i=0; i<len; i++)
len的长度怎么设置最大为14,而不是我想要的24,
请高手指点
有个问题想不明白,想求助一下大家:
我做了一个串口的上位机软件,接收的数据位数据格式: 1位起始位,8位数据位,1位停止位,奇校验.
波特率:1200bps,每帧为24字节,
程序就是网上经常出现的:
VARIANT variant_tmp; //建立用于数据转换的变量 COleSafeArray safearray_tmp;
LONG len,i;
int j=0;
// unsigned char *uchar_str;
BYTE buf[2048]; //定义一个字节数组
CString str_tmp;
if(m_ctrlMSCOMM1.GetCommEvent()==2)
{
variant_tmp=m_ctrlMSCOMM1.GetInput(); //读取接收缓冲区的字符
safearray_tmp = variant_tmp; // 转换为ColeSafeArray型变量
len=safearray_tmp.GetOneDimSize();
for(i=0; i<len; i++) // 转换为BYTE型数组
safearray_tmp.GetElement(&i,buf+i);
for(i=0; i<len; i++)
len的长度怎么设置最大为14,而不是我想要的24,
请高手指点