• 串口总是报'Error opening serial port'


    Comm1.CommName := '//./' + Trim(combx_Port.Text);

    目前串口大于20  用上面方法解决的

    网上也有上面方法解决如下错误的。

    若是您已会应用SPCOMM且涌现10个以上的串心题目 请改一下串心名 COM1.CommName='//./com18'; 便如许减'//./'就好了我也没有晓得甚么回事....... 比方 Comm1.CommName := '//./'+ComboBox1.Text; //./com18是win]

    如果你已经会使用SPCOMM且出现10个以上的串口问题

    请改一下串口名

    COM1.CommName='//./com18';

    就这样 加'//./'就行了我也不知道什么回事.......

    比如

    Comm1.CommName := '//./'+ComboBox1.Text;


    //./com18是windows里边的SymbolLinkName,这个在WINAPI里边就需要这 样写,SPCOMM的这部分的源代码如下: 
    procedure TComm.StartComm; 
    var 
       hNewCommFile:   THandle; 
    begin 
         // Are we already doing comm? 
         if (hCommFile <> 0) then 
            raise ECommsError.Create( 'This serial port already opened' ); 

         hNewCommFile := CreateFile( PChar(FCommName),                 & lt;------就是这里,要加上//./ 
                                     GENERIC_READ or GENERIC_WRITE, 
                                     0, {not shared} 
                                     nil, {no security ??} 
                                     OPEN_EXISTING, 
                                     FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED, 
                                     0 {template} ); 
      
         if hNewCommFile = INVALID_HANDLE_VALUE then 
            raise ECommsError.Create( 'Error opening serial port' );     
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^如果不是 SymbolLinkName写法,串口号大于9这里就出错了

  • 相关阅读:
    Intersection
    B-number
    Intersecting Lines
    Segments
    G. Swapping Places
    Toy Storage
    TOYS
    哈密顿绕行世界问题
    java试题复盘——11月25日
    java试题复盘——11月13日
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/6099887.html
Copyright © 2020-2023  润新知