如何完成向LMS111传感器发送命令的程序?

weixin_38818447 2017-05-17 07:26:58
自编一个客户端程序,连接传感器并通过发送命令获取传感器测量的数据。现在连接已经解决了,但发送的命令过去后没有任何回应,各位大神帮看一下。
主线程发送命令,另创建一个线程读取传感器反馈的数据,部分代码如下:
void CGetDataDlg::OnBtnSend()
{
// TODO: Add your control notification handler code here
CString strSend;
GetDlgItemText(IDC_EDIT_SEND,strSend);
char* sendData=(LPSTR)(LPCSTR)strSend;
send(m_sockClient,sendData,strlen(sendData)+1,0);
SetDlgItemText(IDC_EDIT_SEND,"");

//将命令显示在接收框内
CString strTemp;
GetDlgItemText(IDC_EDIT_RECV,strTemp);
strTemp+="\r\n";
strTemp+=strSend;
SetDlgItemText(IDC_EDIT_RECV,strTemp);




//额外建立一个线程完成数据接收
PARAMETER *pParam=new PARAMETER;
pParam->sock=m_sockClient;
pParam->hwnd=m_hWnd;
HANDLE hThread=CreateThread(NULL,0,ReceiveProc,pParam,0,NULL);
CloseHandle(hThread);
}

void CGetDataDlg::OnBtnExit()
{
// TODO: Add your control notification handler code here
shutdown(m_sockClient,2);
closesocket(m_sockClient);
WSACleanup();
exit(-1);
}

DWORD WINAPI CGetDataDlg::ReceiveProc(LPVOID lpParameter)
{
SOCKET sock=((PARAMETER*)lpParameter)->sock;
HWND hwnd=((PARAMETER*)lpParameter)->hwnd;

// int recv;
char recvBuf[10000];
memset(recvBuf,0,sizeof(recvBuf));
int len=sizeof(recvBuf)+1;
recv(sock,recvBuf,len,0);
::PostMessage(hwnd,UM_DISPLAY,0,(LPARAM)recvBuf);
return 0;

}

void CGetDataDlg::OnDisplay(WPARAM wParam,LPARAM lParam)
{
CString str=(char*)lParam;
CString strTemp;
GetDlgItemText(IDC_EDIT_RECV,strTemp);
strTemp+="\r\n";
strTemp+=str;
SetDlgItemText(IDC_EDIT_RECV,strTemp);

}
...全文
305 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
longxian0505 2018-10-08
  • 打赏
  • 举报
回复
楼主解决问题了吗?我这边遇到了类似的问题,连接没问题,客户端这边判断发送数据也成功,但是扫描仪就是没有反馈
xinhaoda 2017-05-22
  • 打赏
  • 举报
回复
首先要拿到协议包 沟通清楚再说
oyljerry 2017-05-18
  • 打赏
  • 举报
回复
主要就是发送的命令是否符合格式规定。构造对应的数据包等
weixin_38818447 2017-05-18
  • 打赏
  • 举报
回复
新手,第一次弄这个东西,大神的解释没有搞很明白 首先,上边写的程序有很大问题吗?因为调试的时候没有报错和警告,但是运行了后发送十六进制格式命令后,没有任何返回数据,甚至我设置了“如果命令发送失败,弹出提示对话框”这些都没有执行,无法知道buffer中的数据是否发送出去了; 第二,LMS111传感器的命令格式是ASCII或者十六进制两种,我按照指令手册中的命令格式写到Edit Box控件中的; 第三,数据包如何构造?
Rockismej 2017-05-17
  • 打赏
  • 举报
回复
看针对这个设备的开发手册啊
孤客天涯 2017-05-17
  • 打赏
  • 举报
回复
这个得按约定的协议发吧

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧