c#控制台程序,串口通信运行报错System.InvalidOperationException,求大神解决,源代码如下。

2025-05-19 17:50:07
推荐回答(3个)
回答1:

你看看你的Com对象吧,已经不是你想要的COm对象了
改造方法一:
int n = com.BytesToRead
前面加一句
SerialPort com=Sender as SerialPort ;
int n = com.BytesToRead
.......

然后把你的
class Progam 后面的哪个全局SerialPort 对象去掉了!
改造方法二:
或者你把你man方法的中的对象传到Progam 类中也可以
Progam P=new Progam ();
P.com=com;
com.DataReceived+=P.com_DataReceived;
......

你必须保证你在使用的时候,前后的对象要一致!不然的话,你事件里面的COm都还没有实例话端口,波特率 等属性,肯定就报错了撒!!

回答2:

用固定长度的数组作为接收数组,不要用动态变化的n。

回答3:

需要给你写一份吗