可能是权限问题,或端口冲突问题。
1.次一级容器操作COM1就有问题,那怀疑是操作COM1之前,COM1就被打开了,可以这样验证,先用串口助手将COM1打开,按推理应该不用到 代码中操作COM1那行代码,程序就会报错,因为怀疑是其他地方已经将COM1打开了。 2.还是针对第一种怀疑,下载Device monitor studio监控看一下,是不是代码中已经将COM1打开了,而自己没有注意到。
你的主界面和你分层界面的串口是不是同一个呢
看你的描述,需要先说明一下串口的使用,首先是声明该串口变量,然后是配置相应参数,接着是打开,使用,使用完后关闭。 你在主界面中不知道操作完com1后是否关闭了该串口? 你的主界面对com1使用完后(已关闭),其它层次的com1使用无效,是否其它串口也是如此(先在主界面使用,后在其它层次使用)? 你还可以试试 第一次启动程序,主界面操作除com1外的串口,是否也如com1的情况?
可能会有这样一种情况: 在你复杂的层次关系中,在某处存在一段供测试用的打开 COM1 的代码(并可能是有条件执行的)
没遇到过,你的主界面和你分层界面的串口是不是同一个呢,只能慢慢调试看了
设个断点调试下是否在你需要打开的地方没有打开,或者是别的地方已经打开,你重复打开了
110,534
社区成员
642,575
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧