现在的情况是在一个软件内,同时连接两个com端口,通过这两个com端口连接有不同仪表,
我在程序里用的是.net提供的SerailPort类进行操作,
程序里就会有两个SerialPort对象同时在进行,
每个对象都有一个Data_Recived事件是用来接收数据的,
然后再通过委托在界面显示,
现在的问题是,这样的话,程序里就会有两个SerialPort对象同时在进行,
每个对象都有一个Data_Recived事件是用来接收数据的,
怎么才能保证两个事件都在进行呢?
我在调试的时候发现,
运行一段时间后,一直都是只有后一个port对象在接收数据,
第一个port对象的Data_Recived事件除了在界面加载的时候进行过,
之后就再也没进行,有没有做过串口编程的同志啊,帮帮忙,
给点建议也好,谢谢了
我在程序里用的是.net提供的SerailPort类进行操作,
程序里就会有两个SerialPort对象同时在进行,
每个对象都有一个Data_Recived事件是用来接收数据的,
然后再通过委托在界面显示,
现在的问题是,这样的话,程序里就会有两个SerialPort对象同时在进行,
每个对象都有一个Data_Recived事件是用来接收数据的,
怎么才能保证两个事件都在进行呢?
我在调试的时候发现,
运行一段时间后,一直都是只有后一个port对象在接收数据,
第一个port对象的Data_Recived事件除了在界面加载的时候进行过,
之后就再也没进行,有没有做过串口编程的同志啊,帮帮忙,
给点建议也好,谢谢了
界面加载一段时间后,
两个端口的数据都能显示出来,
我在第一个端口的 Data_Recived 打断点,
发现一直都不再走了,
第二个端口的 Data_Recived 打断点就正常,
怎么这么奇怪啊
我的程序用一个串口扩展卡(俗称八爪鱼)连接了12个串口,同时工作都没有任何问题。
不知道这个会不会有什么影响
比如说我在Data_Recived事件里获取了数据,
在下一次执行Data_Recived事件的时候,
获取的数据的位置也是从我上次获取的位置接着下去的么
只是想确认一下
在下一次执行Data_Recived事件的时候,
获取的数据的位置也是从我上次获取的位置接着下去的么-----应该是的,上次触发Data_Recived事件的数据会被读走,缓冲区中会被新数据填充。
我的程序用一个串口扩展卡(俗称八爪鱼)连接了12个串口,同时工作都没有任何问题。
顶,调换端口测试一下!