新人求教,串口通信与数据存入数据库问题
1个回答
2017-12-14 · 知道合伙人互联网行家
关注
展开全部
基于VC6.0 做了串口通信程序 用的控件 但是串口事件没有触发 能发出数据 但是 不能收!! 我是初学C++ 要给一个硬件板子做一个串口配置软件 求指点
if(m_com.GetPortOpen()) //串口初始化
{
m_com.SetCommPort(1);
m_com.SetSettings("9600,n,8,1");
m_com.SetRThreshold(1);
m_com.SetInputMode(1);
m_com.SetInputLen(0);
m_com.GetInput();
m_com.SetInBufferSize(1024);
m_com.SetOutBufferSize(1024);
}
串口初始化程序放到 窗口初始化BOOL CTESTCOMDlg::OnInitDialog() 里面的
串口事件程序
void CTESTCOMDlg::OnOnCommMscomm1()
{
// m_com.GetCommEvent();
VARIANT APP;
CString BPP, DPP;
BYTE Input[2048];
long len, k;
COleSafeArray CPP;
if(m_com.GetCommEvent()==2)
{
APP=m_com.GetInput();
CPP=APP;
len=CPP.GetOneDimSize();
for(k=0;k<len;k++)
CPP.GetElement(&k,Input+k);
for(k=0;k<len;k++)
{
BYTE bt=*(char *)(Input+k);
BPP.Format("%c",bt);
m_JS=m_JS+BPP; //m_JS CString类型事例编辑框变量
}
// TODO: Add your control notification handler code here
}
UpdateData(false);
}
MFC文件能发数据出来,串口助手也能收到,但是串口助手发 一串数据 MFC文件收不到!!!
if(m_com.GetPortOpen()) //串口初始化
{
m_com.SetCommPort(1);
m_com.SetSettings("9600,n,8,1");
m_com.SetRThreshold(1);
m_com.SetInputMode(1);
m_com.SetInputLen(0);
m_com.GetInput();
m_com.SetInBufferSize(1024);
m_com.SetOutBufferSize(1024);
}
串口初始化程序放到 窗口初始化BOOL CTESTCOMDlg::OnInitDialog() 里面的
串口事件程序
void CTESTCOMDlg::OnOnCommMscomm1()
{
// m_com.GetCommEvent();
VARIANT APP;
CString BPP, DPP;
BYTE Input[2048];
long len, k;
COleSafeArray CPP;
if(m_com.GetCommEvent()==2)
{
APP=m_com.GetInput();
CPP=APP;
len=CPP.GetOneDimSize();
for(k=0;k<len;k++)
CPP.GetElement(&k,Input+k);
for(k=0;k<len;k++)
{
BYTE bt=*(char *)(Input+k);
BPP.Format("%c",bt);
m_JS=m_JS+BPP; //m_JS CString类型事例编辑框变量
}
// TODO: Add your control notification handler code here
}
UpdateData(false);
}
MFC文件能发数据出来,串口助手也能收到,但是串口助手发 一串数据 MFC文件收不到!!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询