| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1233 人关注过本帖
标题:串口程序debug版正常,release版读不出数据
取消只看楼主 加入收藏
purplesail
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-8-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
串口程序debug版正常,release版读不出数据
部分代码如下:
void CAisDlg::OnCommAisMscomm()
{
// TODO: 在此处添加消息处理程序代码
//m_Rxdata.Empty();
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len=0,k=0;
BYTE rxdata[20480];//设置BYTE数组
CString strtemp;
float rot=0;
if(m_cSerialCom.get_CommEvent()==2) //事件值为2表示接收缓冲区内有字符
{
m_Rxdata.Empty();
variant_inp=m_cSerialCom.get_Input(); //读缓冲区
safearray_inp=variant_inp;  //VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize(); //得到有效数据长度
for(k=0;k <len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
}
for(k=0;k <len;k++)            //将数组转换为Cstring型变量
{
BYTE bt=*(char*)(rxdata+k);    //字符型
strtemp.Format(_T("%c"),bt);    //将字符送入临时变量strtemp存放

m_Rxdata+=strtemp;
}

    在release下设计断点,发现len的值不正常,似乎缓冲区数据没有读出来,len=safearray_inp.GetOneDimSize(); 这条语句后,len的值没有改变,但是在debug版本下是正常的,可以读出数据。
    麻烦各位帮帮忙!!!多谢
搜索更多相关主题的帖子: 串口 
2009-08-19 08:13
快速回复:串口程序debug版正常,release版读不出数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.079329 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved