使用CnComm类库,读取到信号后,写入数据,跳出错误提示代码如下
LRESULT CKeyReaderDlg::OnComRecv(WPARAM wParam, LPARAM lParam)//串口消息监听
{
if(!m_bStart)//开始
return 1;
if(wParam == m_com1.GetPort())//如果是串口1发送的消息
{
long len = m_com1.Read(m_tmpBuf, 512); //读取数据
switch(m_tmpBuf[0])
{
case 85: //读到十六进制55,继续发下一组数据
BYTE cmd[4];
cmd[0]=1;
cmd[1]=2;
cmd[2]=0;
cmd[3]=3;
m_com1.Write((LPVOID)cmd,4); //执行到这里时出错,跳出如图所示的错误
break;
case 170: //读到十六进制AA,重发这组数据
...
break;
case 224: //读到十六进制E0,停止发送
...
break;
}
}
return 1;
}从字面意思上理解似乎是说我的读取和写入重叠了
LRESULT CKeyReaderDlg::OnComRecv(WPARAM wParam, LPARAM lParam)//串口消息监听
{
if(!m_bStart)//开始
return 1;
if(wParam == m_com1.GetPort())//如果是串口1发送的消息
{
long len = m_com1.Read(m_tmpBuf, 512); //读取数据
switch(m_tmpBuf[0])
{
case 85: //读到十六进制55,继续发下一组数据
BYTE cmd[4];
cmd[0]=1;
cmd[1]=2;
cmd[2]=0;
cmd[3]=3;
m_com1.Write((LPVOID)cmd,4); //执行到这里时出错,跳出如图所示的错误
break;
case 170: //读到十六进制AA,重发这组数据
...
break;
case 224: //读到十六进制E0,停止发送
...
break;
}
}
return 1;
}从字面意思上理解似乎是说我的读取和写入重叠了
解决方案 »
- CRectTracker如何限制变化区域?
- DSHOW对象Release的问题?
- 问一下主进程和线程之间的问题
- 请问为什么在编译一个包含Gdiplus的工程时有时出现一大堆错误有时又不出现?很奇怪!
- 我想用第一个Dialog界面显示第二个Dialog,然后在第二个Dialog里面加Button命名 MessageBox()
- 请问与输入法有关的函数
- 多路视频占用CPU资源问题(UP有分)
- 征求可以收到recv(),send()等函数的HOOK源代码
- 怎么继承自己写的类?
- 指针跟地址的问题
- 做安装程序时第三方库如何处理
- 请问纯C如何创建密码控件,用这个吗?CreateWindowEx,我会创建输入框,但是不知道密码
BYTE
有区别吗...