VS2010 MFC串口接收与发送问题 10
voidCmoniDlg::OnCommMscomm1(){//TODO:Addyourmessagehandlercodeherestaticunsignedintcn...
void CmoniDlg::OnCommMscomm1()
{
// TODO: Add your message handler code here
static unsigned int cnt=0;
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(); // safearray_inp.GetElement(&k,rxdata+k); 得到有效的数据长度
for(k=0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);
}
unsigned int jy=0;
//jy= CRC16(rxdata,6);
unsigned char panduan[2];
//panduan[0]=jy;
//panduan[1]=jy>>8;
panduan[0]=0xDB;
panduan[1]=0x85;
unsigned int result[12]={0};
unsigned char td[15];
CByteArray array;
array.RemoveAll();
array.SetSize(15);
for(int i = 0; i < 15; i++)
array.SetAt(i,td[i]);
m_mscomm.put_Output(COleVariant(array));
UpdateData(false); //更新编辑框内容
}
//m_mscomm.put_Output(COleVariant(m_EditSend));//发送数据
}
这个是程序,我删减了一些,主要功能是串口软件发送一帧数据。这个软件以一帧数据位触发事件并校验然后按帧格式返回数据,可是这接收半段好像出了问题。不能接收串口数据。求大神解答~~ 展开
{
// TODO: Add your message handler code here
static unsigned int cnt=0;
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(); // safearray_inp.GetElement(&k,rxdata+k); 得到有效的数据长度
for(k=0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);
}
unsigned int jy=0;
//jy= CRC16(rxdata,6);
unsigned char panduan[2];
//panduan[0]=jy;
//panduan[1]=jy>>8;
panduan[0]=0xDB;
panduan[1]=0x85;
unsigned int result[12]={0};
unsigned char td[15];
CByteArray array;
array.RemoveAll();
array.SetSize(15);
for(int i = 0; i < 15; i++)
array.SetAt(i,td[i]);
m_mscomm.put_Output(COleVariant(array));
UpdateData(false); //更新编辑框内容
}
//m_mscomm.put_Output(COleVariant(m_EditSend));//发送数据
}
这个是程序,我删减了一些,主要功能是串口软件发送一帧数据。这个软件以一帧数据位触发事件并校验然后按帧格式返回数据,可是这接收半段好像出了问题。不能接收串口数据。求大神解答~~ 展开
1个回答
展开全部
ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。
控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。
因此,开发面向Web的ActiveX控件比开发桌面的控件还要简单些,所复杂的是如何将该控件很好地嵌入主页,使用户能正常浏览。
控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。
因此,开发面向Web的ActiveX控件比开发桌面的控件还要简单些,所复杂的是如何将该控件很好地嵌入主页,使用户能正常浏览。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询