zoukankan      html  css  js  c++  java
  • 串口通信之数据发送时机

    这里的“数据接收”特指下位机发送给上位机的数据。其“时机”有两种方式:1>上位机请求下位机数据时,下位机被动“数据发送”给上位机;2>下位机主动“数据发送”给上位机。

    下面分析这两种方式应用场合。

    方式1>的实现方式有两种,a>在上位机界面,用户主动触发发送请求命令,如点击按钮;b>上位机定时发送请求命令。有下列情形之一,使用方式1>:

    a>     使用方式2>数据发送频率过快,导致串口缓冲器压力过大;或没必要使用2>方式过频繁更新上位机数据。

    b>     一台上位机挂载多个下位机,而且是单工串口通信,导致下位机无法掌控发送时机,所以必须上位机控制发送进度,采用请求下位机A数据,阻塞等待下位机A返回数据,然后请求下位机B数据······

    方式2>实现方式有a>下位机数据改变时,主动发送数据给上位机;b>如果下位机是由控制板和采集器组成,而控制板可以控制定时,可以由下位机定时给上位机发送数据。有下列情形之一,使用方式2>:

    a>     下位机数据更改频率较慢,而采用上位机定时请求定时过快数据浪费,定时过慢数据更新很不及时,所有采用下位机数据变化时主动上传数据。

    情形一:

           下位机数据有时1秒钟变化2-5次,有时5分钟变化一次。使用下位机数据改变时发送。

    情形二:

           下位机数据有时1秒钟变化20次。如果a>过快更新导致串口和上位机UI刷新压力;b>数据发送不是变化累计而是完整数据,使用上位机定时请求。

    情形三:

           上位机无法控制进度,容易导致串口压力过大等问题,请使用上位机定时请求或者用户触发时再请求。

  • 相关阅读:
    JVM源码分析之Object.wait/notify(All)完全解读
    进程无故消失的破案历程
    Jmeter——JDBC Connection Configuration参数化
    Jmeter——CSV DataSet Config参数化
    WeTest明星工具-移动端性能测试PerfDog初探
    基于appium实现的线性代码引用unittest单元测试框架
    Requests实践详解
    Appium-Server与Appium-Desktop的区别
    Appium Python API 中文版
    单元测试框架Uinttest一文详解
  • 原文地址:https://www.cnblogs.com/fyhui/p/2478537.html
Copyright © 2011-2022 走看看