| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:急:编写串口程序遇到困难(附代码)
只看楼主 加入收藏
菁菁1982
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-4-24
收藏
 问题点数:0 回复次数:0 
急:编写串口程序遇到困难(附代码)

在编写串口程序的时候 如何提取出读入数据的最后一个字节 作为标志位啊
void CSCommTestDlg::OnOnCommMscomm1()
{
unsigned char chData1;
char ch;
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.
CString strtemp;

if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{
variant_inp=m_ctrlComm.GetInput(); //读缓冲区
safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize(); //得到有效数据长度
Sleep(1500);
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);
ch=(char)bt;
strtemp.Format("%02X ",bt);

//将字符以十六进制方式送入临时变量strtemp存放,注意这里加入一个空隔
m_strEditRXData+=strtemp;
}
if(ch==0x0A)(此时希望能够发送第二帧,请问这样定义有什么错吗?)
Sleep(1000);
unsigned char chData1[]={0x06,0xB2,0xB4,0x8D,0x0A};
CByteArray cinData;
cinData.RemoveAll();
for(int j=0;j<5;j++)
cinData.Add(chData1[j]);
COleVariant bar(cinData);
m_ctrlComm.SetOutput(bar);
m_ctrlComm.SetSettings("4800,n,8,1");
}
UpdateData(FALSE);//加入接收编辑框对应字符串


}

搜索更多相关主题的帖子: 串口 困难 代码 编写 
2006-04-28 14:18
快速回复:急:编写串口程序遇到困难(附代码)
数据加载中...
 
   



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

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