VC++串口接收到的数据进行计算

visualc++6.0将接收到的数据进行处理下,因为接收到的是cstring型,进行计算的话要先转换为整型。然后再把处理后的数据显示在编辑框里,这个过程是怎样的呢?谢谢... visual c++6.0 将接收到的数据进行处理下,因为接收到的是cstring型,进行计算的话要先转换为整型。然后再把处理后的数据显示在编辑框里,这个过程是怎样的呢?谢谢各位了!
/***我是要提取串口接收的数据进行一个处理后发到另外一个编辑框中,串口发来的是“\n数据\n”
variant_inp.Attach(m_ctrlComm.GetInput());
variantSafe_inp = variant_inp;
len = variantSafe_inp.GetOneDimSize(); //获取一维数组的大小,验证得到的有效数据长度
for (k=0;k<len;k++)
variantSafe_inp.GetElement(&k,rxdata+k); //转换为BYTE型数组
BYTE *pB = new BYTE[k];
memcpy(pB,rxdata,k);
for(k=0;k<len;k++) //将数组转换为Cstring 型变量
{ BYTE bt=*(char*)(rxdata+k); //字符型
strTemp1.Format("%c",bt); //将字符送入临时变量strtemp 存放
}
m_strRXData+=strTemp1; //加入接收编辑框对应字符串
UpdateData(FALSE); //更新编辑框内容
展开
 我来答
zhjian_11mail
2012-12-17
知道答主
回答量:31
采纳率:0%
帮助的人:14.8万
展开全部
在你的程序里,在memcpy(pB,rxdata,k);代码的后面,把pB中存储的字符串数据转为实际的数据,你的这个字符串数据应该是ASSIC码,你按照字节把ASSIC码转为16进制数字,然后把k-2个16进制数拼成一个完整的数进行数据处理,处理出来的数在转为ASSIC码,存回pB数组中,再将pB字符串转为m_strRXData,进行更新显示。
你的m_strRXData+=strTemp1;应该放在for循环里。
追问
嗯,就是这个拼的过程是咋样的呢?老是拼不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-12-16
展开全部
推荐看书
Visual C++_Turbo C串口通信编程实践
追问
主要是程序实现!
追答
恩,这本 书很好的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a379039233
2012-12-16 · TA获得超过1495个赞
知道小有建树答主
回答量:895
采纳率:0%
帮助的人:423万
展开全部
接收到的都是char,
CString str;
for(int i=;i<count;i++){
str.Format("%2X ".buffer[i]);
m_edit_str+=str;
}
UpdateData(false);
更多追问追答
追问
那我要进行四则运算的话还是要转为整型才行的吧?
追答
int i  = atoi("123");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式