当前位置:首页
开发技术指南» 文章正文
    引言:

 ·求个明白    »显示摘要«
    摘要: sina中网页文件.shtml类型是动态的吗, 网站中将所有请求都生成静态页面的过程是怎么做的?请帮忙详细解答,多谢! 搞清楚了,就结贴,给分! ......
 ·水晶报表如何生成动态图表    »显示摘要«
    摘要: 希望报表里有图表.而且每页的图表不同,这可以用子报表来做. 可是我还需要每个图表的字段不同,有的字段多有的字段少,请问如何动态的控制这样字段从而使做的一个报表模板可以适应不同的数据集.不知道说清楚没有.如果不明白的可以问一下.谢谢. ......


串口读取问题,……

程序  
  BOOL   CMainDlg::OnInitDialog()  
  {  
                  .........................................//略  
   
  //   TODO:   Add   extra   initialization   here  
  m_wndCOM1.SetCommPort(1);    
  m_wndCOM1.SetSettings("9600,n,8,1");    
  m_wndCOM1.SetInputLen(0);    
  m_wndCOM1.SetInBufferSize   (1024);  
  m_wndCOM1.SetPortOpen(TRUE);//打开通信口  
  m_wndCOM1.SetInputMode   (1);  
  m_wndCOM1.SetRThreshold(20);  
   
  return   TRUE;     //   return   TRUE     unless   you   set   the   focus   to   a   control  
  }  
   
  void   CMainDlg::OnSend()    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
  UpdateData(TRUE);    
   
  CByteArray   array;  
  array.RemoveAll();  
  array.SetSize(10);  
  array.SetAt(0,m_tmpNum);                           //m_tmpNum为BYTE  
   
  m_wndCOM1.SetOutput(COleVariant(array));  
  }  
   
  void   CMainDlg::OnComm()    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
  int   k;  
  int   intNum;  
                    VARIANT   variant_inp;  
  COleSafeArray   safearray_inp;  
  long   len,i;  
  BYTE   rxdata[2048]={0};  
  CString   strtemp;  
                    switch(m_wndCOM1.GetCommEvent())    
  {    
  case   2:   //comEvReceiv事件,有数据到达    
  //对接收到的数据做必要处理  
  k=m_wndCOM1.GetInBufferCount();  
  if(k>0)  
  {  
  ,  
  variant_inp=m_wndCOM1.GetInput();  
  m_wndCOM1.SetInBufferCount(0);  
  safearray_inp=variant_inp;  
  len=safearray_inp.GetOneDimSize();  
  BYTE   *m_pCommData=new   BYTE[len];  
  for(i=0;i<len;i++)  
  safearray_inp.GetElement(&i,rxdata+i);  
   
  for(i=0;i<len;i++)  
  {  
  m_pCommData[i]=rxdata[i];  
  }  
   
   
                                      intNum=m_pCommData[0];  
  lBinH=m_pCommData[1];  
  lBinL=m_pCommData[2];  
   
  delete   []m_pCommData;  
                                      }  
                          break;  
   
     
     
   
     
  default:    
  break;    
  }  
  }  
   
  为什么rxdata读进来的数都是255,是不是溢出了,而且每次读进来的都是30多个数,我只需要20个,好像把下一次采样也读进来了,应该怎样解决,谢谢,急……

NO.1   作者: jennifergiant

你这样是一有数据就读,不管是不是下一次  
  每次对长度都判断下

NO.2   作者: legendhui

把m_wndCOM1.SetInputLen(0);改为m_wndCOM1.SetInputLen(1);  
   
  你想接多少字节的数据,可以通过你上面的k值进行控制

NO.3   作者: yiyezhiqiu

MSCOMM   没有问题,可以用的,你看看数据的二进制对不对,如果二进制都是11111111就可能是前端的问题了.

NO.4   作者: shagua0916

mscomm,不会有什么问题  
  1.用串口调试助手看看收到的开底是什么数据.  
  2.定时接收比ONCOMM()事件要好.  
 

NO.5   作者: dirdirdir3

是不是255是keepalive的消息来的,试一下把它过滤掉再接受数据。  
  看看数据正不正确?


    摘要: java.util.arraylist<e> java.util.arrays java.util interface collection<e> java.util interface iterator<e> java.util.vector<e> 一直不是很明白他们的用法,只觉得有很多类似的方法,各位高手能详细讨论他们的联系和区别么? 尤......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE