高分求救串口打不开啦

yipulong 2009-03-12 08:50:40
1-PDA设备里有几个串口,其他打开都没问题,只有com2出现此问题;程序是win ce 上的
2-用C++写的串口打开如下:
GetCommState(m_hComm,&dcb);
dcb.BaudRate=BaudRate;
dcb.ByteSize=DataBits;
dcb.Parity=Parity;
dcb.StopBits=StopBits;
dcb.fParity=FALSE;
dcb.fBinary=TRUE;
dcb.fDtrControl=0;
dcb.fRtsControl=0;
dcb.fOutX=dcb.fInX=dcb.fTXContinueOnXoff=0;
if(!SetCommState(m_hComm,&dcb))//com2打开时返回false,但是把if去掉,还是可以收发数据的。
{
AfxMessageBox(_T("无法按当前参数配置端口,请检查参数!"));
3-vs2008中用c#的serialPort控件打开:
try
{
//打开串口检查
if (serialPortWPR.IsOpen)
{
serialPortWPR.Close();
}

//配置串口属性
serialPortWPR.PortName = comboBoxSerialPortNum.Text;
serialPortWPR.BaudRate = 9600;
serialPortWPR.DataBits = 8;
serialPortWPR.StopBits = System.IO.Ports.StopBits.One;
serialPortWPR.Parity = System.IO.Ports.Parity.None;
//打开串口
serialPortWPR.Open();//这里直接就到catch中去了
return true;
}
catch (Exception ex)
{
MessageBox.Show("打开串口失败!");
return false;
}


问题:怎么才能在c#里边把这个串口打开
...全文
396 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yipulong 2009-03-13
  • 打赏
  • 举报
回复
没人给看看了???
yipulong 2009-03-12
  • 打赏
  • 举报
回复
if(!SetCommState(m_hComm,&dcb))//com2打开时返回false,但是把if去掉,还是可以收发数据的。谁能告诉我为什么?
Neil198 2009-03-12
  • 打赏
  • 举报
回复
你可以去网上下一个串口调试小工具,测试一下你的COM2端口是否可用,找不到的话加我QQ:496361.我发给你
Neil198 2009-03-12
  • 打赏
  • 举报
回复
在你电脑上右键属性,看设备管理里面是否有COM2端口,有的话看一下波特率是不是9600。是的话看看你是不是接打印机或者其他串口设备把COM2给占用了,或者看看是不是你开串口调试小工具给占用端口了。
yipulong 2009-03-12
  • 打赏
  • 举报
回复
错误内容:
[System.IO.IOException] = {"IOException"}
_HResult = -2146232800
_innerException = null
_message = "IOException"
_methodDescs = {System.IntPtr[13]}
HResult = -2146232800
InnerException = 未能计算表达式的值
Message = "IOException"
StackTrace = "位于 System.IO.Ports.SerialStream.WinIOError(Int32 errorCode, String str)\r\n位于 System.IO.Ports.SerialStream.WinIOError(Int32 err)\r\n位于 System.IO.Ports.SerialStream.CheckResult(Int32 err)\r\n位于 System.IO.Ports.SerialStream.InitializeDCB(Int32 baudRate, Pari...

设备没问题,用多个试验过了
mqfwjp 2009-03-12
  • 打赏
  • 举报
回复
你能代开其他的串口就说明你的程序没问题,COM2打不开可能是该串口坏了,你也可以试用 USB转坎的 工具试试能不能打开
andy_1027 2009-03-12
  • 打赏
  • 举报
回复
serialPortWPR.Open();//这里直接就到catch中去了
异常内容是什么?
yipulong 2009-03-12
  • 打赏
  • 举报
回复
在线等待指点
typeof 2009-03-12
  • 打赏
  • 举报
回复
up
yipulong 2009-03-12
  • 打赏
  • 举报
回复
继续等待

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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