有一个串口设备,用软件测试,但是我的笔记本没有串口,所以用了USB转串口的转换器并且安装了驱动,在设备管理器里面能看到串口设备:Prolific USB-to-Serial CommPort (COM3)但启动测试软件的时候,总是提示串口初始化失败,想问下USB转的串口,用MSComm类操作的时候是不是设置有些特别的地方?其中MSComm.CommPort改成1-3都不行串口初始化代码如下://COM 端口初始化;
procedure TForm_Main.MSCommInitialize;
begin
  try
    MSComm.CommPort := 3;//指定端口
    MSComm.Settings :='9600,N,8,1';//其它参数
    MSComm.InBufferSize := 1024; //接收缓冲区
    MSComm.InputMode := comInputModeBinary;  //接收模式
    MSComm.InputLen := 0;       //一次读取所有数据
    MSComm.SThreshold := 0;    //一次发送所有数据
    MSComm.InBufferCount := 0;   //清空读取缓冲区
    MSComm.OutBufferCount := 0;  //清空发送缓冲区
    MSComm.PortOpen:=true;      //打开端口
    MSComm.RThreshold := 2;   //设置接收多少字节后产生oncomm事件
  except
    Application.MessageBox('COM 端口初始化失败,请检查 COM 端口是否正确连接或被其他程序占用!','提示',MB_OK+MB_ICONError);
    Application.Terminate;
  end;
end;

解决方案 »

  1.   

    应该是串口质量不过关
    你买的是不是那种20以下的USB转串口的东西?
      

  2.   

        MSComm.PortOpen:=true;      //打开端口
        MSComm.RThreshold := 2;   //设置接收多少字节后产生oncomm事件这两句换下位置看看,建议可以断点调试,看哪里出错
      

  3.   

    我以前用spcomm,和7块的串口线连接也没有问题。建议换个串口线试试
      

  4.   

    使用USB转串口驱动,在设备管理器中应该能看到新接入设备所占用的端口。
    程序或初始化文件中指向该串口即可。在确认驱动正确、设备无故障的前提下,连接不上的原因只能是线。我周日刚刚遇到了这个问题,换线:)
    驱动好象现在是V130,支持Vista/Win7
      

  5.   

    你用的USB转串口存在质量问题,确切的说是编驱动的人水平有点那个