已经设定了3秒发一次,怎么控制25次后休息10秒钟,谢谢各位大神的指点!!!
private int _RememberSendCount = 0;
private void BtnSend_Click(object sender, EventArgs e)
{
timer1.Interval = 1000; //这个地方如果是3000的 就是以时钟控件实例化开始3秒后执行时钟方法
//我这边设置1000 就是一秒执行一次 为了是时间更精准
timer1.Start();//开始
}
private void Timer1_Tick(object sender, EventArgs e)
{
_RememberSendCount++; //初始值是0 第三次执行后变成3
if (_RememberSendCount % 3 == 0) //取 3 6 9 12 15
{
if (_RememberSendCount / 3 <= 25)
{
serialPort1.Write("");//发送
}
}
if (_RememberSendCount >= (3 * 25 + 10))
{
_RememberSendCount = 0;
//这个地方要确定下 是25次后+10秒钟是立即立即来一个下发 还是下一秒就开始发 还是继续等3秒循环
//如果是立即发 那么这边也要加个serialPort1.Write("");
//下一秒发的话就需要下发的话就变成-1 循环的话就是0/3=0 会进循环 如果是这种模式的话 _RememberSendCount一开始就可以设置成-1,那么时间一开始就会执行一次然后再等待循环
//继续等3秒的话 那么就是0 会有重置后又等了空白产生3秒时间
}
}
虽然我不会C#,但是基本思路应该是加一个计数器,每次发送就+1,等加到25就停10秒,然后计数器置0继续执行。
接上次的回答,在你收到25个数据后,调用 Thread.Sleep(10000); 可以暂停10秒。10000就是1万毫秒,1000毫秒=1秒。