MFC编写的串口通信程序,接收不到数据???
最近用基于MSComm控件,用MFC编写了一个串口收发数据的小程序!单片机的程序就是,接收上位机发送的数据,并发回给上位机。串口调试助手测试成功。但是我用自己编的串口界面测试时,发送框的数据可以发送,但是接受框的数据不能显示!下位机单片机的RXD管脚有数据输入,TXD管脚有数据输出,(用示波器测试)。下面是串口响应代码:
void CSCommTestDlg::OnComm()
{
// TODO: Add your control notification handler code here
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(); //得到有效数据长度
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("%c",bt); //将字符送入临时变量strtemp存放
m_strRXData+=strtemp; //加入接收编辑框对应字符串
}
}
UpdateData(FALSE); //更新编辑框内容
}
求高手予以指点,不胜感激!
void CSCommTestDlg::OnComm()
{
// TODO: Add your control notification handler code here
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(); //得到有效数据长度
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("%c",bt); //将字符送入临时变量strtemp存放
m_strRXData+=strtemp; //加入接收编辑框对应字符串
}
}
UpdateData(FALSE); //更新编辑框内容
}
求高手予以指点,不胜感激!
...全文
相关推荐
MFC实现串口通信16进制发送接收
利用MFC实现串口通信,用到MSCOMM32控件,能控制发送的时间,最短1ms,同时支持16进制和字符型的接收和发送,功能很强大,基于VS2010编写,研究MFC串口通信的同学值得拥有!
MFC串口通信设置及发送、中断接收程序
前一段做了个串口通信小软件,就是现实利用上位机软件通过串口通信对下位机(单片机)通信,校时LED点阵万年历,省去按键调节的麻烦,
深入解析基于MFC的串口通信程序设计
类是MFC(Microsoft Foundation Classes)中用于串口通信的一个封装好的类。它提供了一系列方便的接口来处理串口的各种操作,包括打开串口、设置串口参数、读取串口数据、写入串口数据以及处理串口事件等。这些操作通过简单的函数调用就能完成,极大地简化了串口通信的编程工作。开发者在使用类时,需要首先包含它的头文件。该类基于Windows API实现,因此,它适用于需要在Windows环境下进行串口通信的应用程序。
VS2010之MFC串口通信的编写教程
VS2010之MFC串口通信的编写教程,详细参考:http://blog.csdn.net/peter_jjh/article/details/77294592
VS2017基于MFC 串口通信上位机程序
本资源是基于开发平台VS2017开发的MFC串口通信上位机程序,,该程序debug x86编译平台,可自动识别串口并连接,接受发送数据。


硬件/系统
