variant_inp=m_Comm.GetInput();//读缓冲区
safearray_inp.Clear();
safearray_inp=variant_inp;//VARIANT型变量转换为COleSafeArray型变量
total_data_length=safearray_inp.GetOneDimSize();//得到有效数据长度
读计数器数据类型‘A’,低字节,中字节,高字节,‘B’,低字节,中字节,高字节
其中total_data_length老是只有1 请各位大虾帮帮忙啊

解决方案 »

  1.   

    用的MSComm控件?VC开发人员建议还是自己代码了,http://www.codeproject.com/system/cserialport.asp
      

  2.   

    www.gjwtech.com串口编程必进网站!
      

  3.   

    m_MSComm.SetRThreshold(i)
    串口初始化时这条语句中i是不是设为1,如果为1的话改为你定义的协议长度
      

  4.   

    我认为是你的初始化时参数设错了,为什么不把初始化的代码贴出来呢??m_MSComm.SetRThreshold(1),表每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件,如果是8的话,自已想想怎么回事吧.........