zoukankan      html  css  js  c++  java
  • 6.串口操作之API篇 GetCommTimeouts SetCommTimeouts

    GetCommTimeouts, SetCommTimeouts 用于设置串口接收发送数据的超时参数.

     1 function GetCommTimeouts(hFile: THandle; var lpCommTimeouts: TCommTimeouts): BOOL; stdcall;   
    2 function SetCommTimeouts(hFile: THandle; const lpCommTimeouts: TCommTimeouts): BOOL; stdcall;
    3 PCommTimeouts = ^TCommTimeouts;
    4 _COMMTIMEOUTS = record
    5 ReadIntervalTimeout: DWORD;
    6 ReadTotalTimeoutMultiplier: DWORD;
    7 ReadTotalTimeoutConstant: DWORD;
    8 WriteTotalTimeoutMultiplier: DWORD;
    9 WriteTotalTimeoutConstant: DWORD;
    10 end;
    11 TCommTimeouts = _COMMTIMEOUTS;
    12 COMMTIMEOUTS = _COMMTIMEOUTS;

    以下这段说明取自CnRs232的注释.写的很好,嘿嘿.
    ReadIntervalTimeout:指定通信线路上两个字符到达之间的最大时间.在读取操作期间,从接收到第一个字符时开始计时,若任意两个字符到达之间的时间间隔超过这个最大值,则读取操作完成,返回缓冲数据.如果置0,表示不使用间隔超时.
    ReadTotalTimeoutMultiplier:用于设定读总超时时间的系数.读总超时时间 = (总超时系数 X 接收字符数) + 总超时常量.常量和系数可分别为0。如果均为0,则不使用总超时设定.
    ReadTotalTimeoutConstant:设定读总超时时间的常量值.读总超时时间 = (总超时系数 X 接收字符数) + 总超时常量.常量和系数可分别为0。如果均为0,则不使用总超时设定.
    WriteTotalTimeoutMultiplier:用于设定写总超时时间的系数.写总超时时间 = (总超时系数 X 接收字符数) + 总超时常量.常量和系数可分别为0。如果均为0,则不使用总超时设定.
    WriteTotalTimeoutConstant:用于设定写总超时时间的常量值.写总超时时间 = (总超时系数 X 接收字符数) + 总超时常量.常量和系数可分别为0。如果均为0,则不使用总超时设定.

    超时设置在多设备采集的上位机上会显得很重要,有些设备是通过RS485连接,一条链路上会串联多个设备,这个时候,设置一个合理的超时时间,可以更快得到采集数据.不同的设备的接收超时参数也不同,需要通过多次试验取得一个合理的数值.

  • 相关阅读:
    kubenetes-rancher多集群管理(二十二)
    kubernetes-traefik(二十一)
    kubernetes-helm程序包管理器(二十)
    kubeadm快速部署kubernetes(十九)
    kubernetes-jenkins CI/CD平台(十八)
    kubernetes-平台日志收集ELK(十七)
    prometheus-简介及安装
    基于VUE利用pdf.js实现文件流形式的pdf显示
    react 实现类似vue中的<keep-alive>的功能,并解决antd-mobile切换回来时的空白
    基于vue的环信基本实时通信功能
  • 原文地址:https://www.cnblogs.com/solokey/p/2126559.html
Copyright © 2011-2022 走看看