不清楚原理
待解决
问题描述:
在form1_load的时候,对SerialPort类型的对象port委托了一个接受数据的函数;
在form2中设置完串口参数之后,Data_Received()函数不执行。。。。。
重新委托后,Data_Received()函数正常执行。问问周总再来总结。
这个不是窗口load问题。我要把题目改成“Form_Load():不要甩锅给我”.
稍后下班再写。
详细描述一下:
做的是毕设,一个基于ZigBee的无线投票系统。上位机部分用C#写的,因为对这个语言不熟悉,所以遇到了很多问题~~
Form1里执行实际的连接串口,投票等等一些功能
Form2里对串口连接参数进行配置,周总说如果使用全局变量的话,那这些问题就都不会存在了0.0
中意用全局变量的那就不用继续看了,^_^
这里使用的是C#中的访问器也就是get;set方法来进行父子窗口间的数据传输。
在Form2中,定义
SerialPort port = new SerialPort();
对port的portname,baudrate,databits,parity,stop bits进行初始化;
Form1中通过set方法,将value赋值给Form1中的serialport对象(也是SerialPort型,只是为了在博文里区分一下名字)。 <

在C#应用中,作者在Form1的加载事件中使用SerialPort对象,并在Form2中配置串口参数。由于对访问器的理解不足,导致Data_Received事件未正确绑定,造成串口数据无法接收。重新绑定Data_Received事件后问题解决。文章重点在于澄清问题并非由Form_Load事件引起。
1122

被折叠的 条评论
为什么被折叠?



