毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

WINCE 串口发送数据后会收到一个字节数据0xff

更新时间:2012-8-9:  来源:毕业论文

请教大家一个问题,我在做 WINCE 串口数据通讯的时候,

WriteFile(g_hPort,buf,dwCharToWrite,&dwBytesWritten,NULL);

后会收到一个字节数据 0xff

下面是我的接收函数,
DWORD WINAPI ReadPortThread(LPVOID lpvoid)
{
  BOOL fReadState;

  DWORD dwCommModemStatus;

  DWORD dwLength;

  COMSTAT ComStat;

  DWORD dwErrorFlags;

  while (g_hPort != INVALID_HANDLE_VALUE) 
  {
  //等待串口的事件发生
  WaitCommEvent (g_hPort, &dwCommModemStatus, 0);
  if (dwCommModemStatus & EV_RXCHAR) 
  {
  ClearCommError(g_hPort,&dwErrorFlags,&ComStat);
  //cbInQue返回在串行驱动程序输入队列中的字符数
  dwLength=ComStat.cbInQue;

  if(dwLength>0)
  {
  //从串口读取数据
  unsigned char * buf=new unsigned char[512];
  fReadState=ReadFile(g_hPort,buf,dwLength,&dwLength,NULL);
  if(!fReadState)

  {
  //不能从串口读取数据
  MessageBox(NULL,TEXT("读取串口数据错误"),TEXT("读取串口数据"),MB_OK);
  }
  else
  {
//把数据赋值给全局变量
g_TimerConter = 0 ;
memcpy(g_ReciverBuf+g_ReciverConter,buf,dwLength);
g_ReciverConter += dwLength ;
  }
  delete[] buf;
  }  
  }
  GetCommModemStatus (g_hPort, &dwCommModemStatus);
  }
  return 0;

}

 
你这个收到oxff ,多半是你驱动有问题啊。你试试sunrain_hjb写的串口调试助手看看效果怎么样。
还有写这些软件最好参考win32 的例子来做,稳定性好会好一些。C#就更糟糕了。C#下的串口写的还是挺稳定的啊!你查看下设置,是不是用了软件流控或者硬件流控之类的设置!或者是设备的原因!是不是串口配置问题 看看延迟参数
是串口驱动的问题~!

修改一下驱动就可以了

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。