static void Main(string[] args)
{
SerialPortWriteDeadCheck();
while (true)
{
Thread.Sleep(100);
System.Diagnostics.Debug.WriteLine("Run...");
}
}
static void SerialPortWriteDeadTip(Object obj)
{
System.Diagnostics.Debug.WriteLine("Serial Port Had Problem.");
TimerState timer = (TimerState)obj;
timer.tmr.Dispose();
}
class TimerState
{
public Timer tmr; //为了在回调中结束定时器
}
static void SerialPortWriteDeadCheck()
{
TimerCallback timerDelegate = new TimerCallback(SerialPortWriteDeadTip);
TimerState s = new TimerState();
int period = 2000;
//参数①回调函数 参数②一个包含回调方法要使用的信息的对象,或者为空引用。
//参数③定时器启动时间 参数④定时器触发间隔
Timer timer = new Timer(timerDelegate, s, period, period);
s.tmr = timer;
}