
win7下显示 找不到串口COM1或者串口被占用 请问我该怎么办
解决方法如下:1、打开注册表中的 “HKEY_LOCAL_MACHINE\\\\hardware\\\\DeviceMap\\\\SerialComm”,这时发现有以下两个键: 其中应该就是USB串口,应为在设备管理器中显示串口号就是COM2。
2、新建两个健: \\\\Device\\\\Serial0 值为 COM1 \\\\Device\\\\Serial1 值为 COM2 建好后如下图所示:3、打开串口调试软件发现能找到串口了,在软件中选择好正确的串口后,软件就可以用了
4、有的USB串口安装好驱动程序后,串口后并不是COM1或COM2,串口号的数值会比较大,会出现COM4、COM5等更大的串口号,为了出现更大的串口号时也能使用串口,我用同样的方法建立了8个注册表键注意:虽然在设备管理器中可以任意改动USB串口的串口号,但是改动后刚才新建的8个键就会有重复,在串口软件中显示的串口号也有重复,导致选择重复的串口号时软件提示串口被占用。
因此在使用过程中,如非必要强烈建议不要改动串口号
串口调试助手提示没有发现此串口或被占用
是不是COMSS里面的关,还有我的电脑--硬件-设备管理-端口-端口-属性-端口设置-高级 看是不是被占用了,克隆的系统有可能会出现被占用的情况,在设备管理里面把端口删掉 在找次硬件一般情况下 都能恢复。
笔记本使用了串口转换线,提示“当前串口号已经被占用”
怎么办
打开注册表HKEY_LOCAL_MACHINE\\\/SYSTEM\\\/CurrentControlSet\\\/Control\\\/COM Name Arbiter把ComDB删除后重新尝试即可!。
如果还不行,重启电脑
如果还是不行,禁止一些开机程序,诸如远程打印机之类的。
串口通讯编程时 串口如果被占用 怎么才能提示出错
用try ... except结构控制(这种办法最方便也简单,管他是被占用了还是打开失败了)或者用CreateFile函数来判断,你可以试验下:varhNewCommFile:Thandle;begin.....hNewCommFile:=CreateFile(PChar('com1'),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,0);if hNewCommFile = INVALID_HANDLE_VALUE thenshowmessage('Error opening serial port' );......end; ----------------try mscomm1.CommPort:=1; if mscomm1.portopen=false then mscomm1.Settings:='9600,n,8,1'; mscomm1.portopen:=true; mscomm1.OutBufferCount:=0; mscomm1.inBufferCount:=0;except begin showmessage('com1错误
'); application.Terminate; end; --------------。
。
。
。
。
except begin showmessage('com1错误
'); application.Terminate; end;end;\\\/\\\/这个end多了,你应该删除掉。
。
。
。
procedure TForm1.ComboBox1Select(Sender: TObject);beginif mscomm1.portopen=true thenmscomm1.portopen:=false;try if combobox1.Text='com1' then mscomm1.CommPort:=1; if combobox1.Text='com2' then mscomm1.CommPort:=2; mscomm1.portopen:=true;except showmessage('串口'+combobox1.Text+'不能正常打开
')end;用try except来控制异常在调试环境下运行,该出的还是会出,所以你要单独执行编译好了的执行文件,就看到控制异常的效果了
串口被占用
都有 2 口 COM了,很难得的
现在很多电脑只有 1 个 COM 口
大部分笔记本都没有 串口你是不是 接了 很多 串口 设备
实在要加 COM 口的话,有 PCI 扩展 串口 的祝你顺利吧
如何解决串口com被占用
错误消息(MS Comm 控件)下表列出 MSComm 控件可以捕获的错误:常数 值 描述 comInvalidPropertyValue 380 无效属性值 comSetNotSupported 383 属性为只读 comGetNotSupported 394 属性为只读 comPortOpen 8000 端口打开时操作不合法 8001 超时值必须大于 0 comPortInvalid 8002 无效端口号 8003 属性只在运行时有效 8004 属性在运行时为只读 comPortAlreadyOpen 8005 端口已经打开 8006 设备标识符无效或不支持该标识符 8007 不支持设备的波特率 8008 指定的字节大小无效 8009 缺省参数错误 8010 硬件不可用(被其它设备锁定) 8011 函数不能分配队列 comNoOpen 8012 设备没有打开 8013 设备已经打开 8014 不能使用 comm 通知 comSetCommStateFailed 8015 不能设置 comm 状态 8016 不能设置 comm 事件屏蔽 comPortNotOpen 8018 仅当端口打开时操作才有效 8019 设备忙 comReadError 8020 读 comm 设备错误 comDCBError 8021 为该端口检索设备控制块时的内部错误
串口被占用
我们公司用的电话计费器也用经常出现串口com1被使用,你找下说明书在参数那把使用的串口设置锁定好就可以了



