C# 关于串口 和定时器
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (this.serialPort1.ReadBufferSize>0)
{
int count = this.serialPort1.Read(ReceBuf, 0, RecComMax);
ReceBufAddPos = count;
if (count != 0)
{
timer1.Interval = 50;
timer1.Enabled = true;
timer1.Start();
}
}
}
private void timer1_Tick(object sender, EventArgs e)
{
ReceiveDatafun();
}
我是想做一个在串口接收中开启定时器的,,但是进不了timer1_Tick,,网上查了一下,说要写委托函数的,搞来搞去都不对,,求教
定时器
串口
C#
------解决方案--------------------为什么要在串口的接收事件里面启动一个时间控件?觉得你的逻辑有点不合理,这个也没有跨线程操作,不用委托吧
------解决方案--------------------目测运行到count!=0下面的代码段会抛异常,Timer不是在串口的监听线程创建的话,访问要用Invoke