码迷,mamicode.com
首页 > 其他好文 > 详细

串口总是报'Error opening serial port'

时间:2016-11-25 00:07:01      阅读:630      评论:0      收藏:0      [点我收藏+]

标签:10个   var   ror   api   exist   new   问题   题目   tar   

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这里就出错了

串口总是报'Error opening serial port'

标签:10个   var   ror   api   exist   new   问题   题目   tar   

原文地址:http://www.cnblogs.com/zhangzhifeng/p/6099887.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!