C#串口通讯,设置的3秒发送一次数据,怎么控制发25次后,休息10秒钟,然后再发送数据,谢谢!!!!

图片说明
已经设定了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继续执行。

之前的问题 https://ask.csdn.net/questions/769844 https://ask.csdn.net/questions/769228 请采纳下,这样才能持续回答你的问题。

接上次的回答,在你收到25个数据后,调用 Thread.Sleep(10000); 可以暂停10秒。10000就是1万毫秒,1000毫秒=1秒。