One Is All 2019-07-23 11:21 采纳率: 0%
浏览 1809

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

图片说明
已经设定了3秒发一次,怎么控制25次后休息10秒钟,谢谢各位大神的指点!!!

  • 写回答

3条回答 默认 最新

  • BuXiaoJing 2019-07-23 17:06
    关注
        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秒时间
            }
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记