MSP430单片机向上位机(PC机)发送字符串或ASCII码,上位机串口接收程序应该怎么写,希望显示字符串。
这是我的串口接收程序代码,为什么接收编辑框没显示,麻烦大神帮忙看一下,不胜感激VARIANTvariant_inp;COleSafeArraysafearray_inp;...
这是我的串口接收程序代码,为什么接收编辑框没显示,麻烦大神帮忙看一下,不胜感激
VARIANT variant_inp;
COleSafeArray safearray_inp;
long len,k;
unsigned int data[1024]={0};
byte rxdata[1024];//设置BYTE数组
CString strtemp;
if(m_mscomm.get_CommEvent()==2) //值为2表示接收缓冲区内有字符
{
// cnt++;
variant_inp=m_mscomm.get_Input(); //读缓冲区消息
safearray_inp=variant_inp; //变量转换
len=safearray_inp.GetOneDimSize(); //得到有效的数据长度
for(k=0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);}
for(k=0;k<len;k++)//将数组转换为CString型变量
{
strtemp.Format(_T("02X"),*(rxdata+k));
m_EditReceive+=strtemp;
CString temp=_T("\r\n"); //换行
m_EditReceive+=temp;
}
}
UpdateData(false); //更新编辑框内容 展开
VARIANT variant_inp;
COleSafeArray safearray_inp;
long len,k;
unsigned int data[1024]={0};
byte rxdata[1024];//设置BYTE数组
CString strtemp;
if(m_mscomm.get_CommEvent()==2) //值为2表示接收缓冲区内有字符
{
// cnt++;
variant_inp=m_mscomm.get_Input(); //读缓冲区消息
safearray_inp=variant_inp; //变量转换
len=safearray_inp.GetOneDimSize(); //得到有效的数据长度
for(k=0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);}
for(k=0;k<len;k++)//将数组转换为CString型变量
{
strtemp.Format(_T("02X"),*(rxdata+k));
m_EditReceive+=strtemp;
CString temp=_T("\r\n"); //换行
m_EditReceive+=temp;
}
}
UpdateData(false); //更新编辑框内容 展开
1个回答
2015-05-10
展开全部
用数组接,然后用内存复制api
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询