• SPCOMM控件对串口参数的设置


     

       对于串口来说,一般大家都了解波特率,校验码,数据位之类的参数。然而在实际的数据传输中,有些参数也会影响数据的传输。现总结如下,以便大家查询。
    在对串口进行编程时,可用portman对串口参数进行跟踪,提示如下:
    15 0.00001006 IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600 
    16 0.00000531 IOCTL_SERIAL_CLR_RTS Serial0 SUCCESS  
    17 0.00000559 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS  
    18 0.00000447 IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 
    19 0.00000279 IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13 
    20 0.00000391 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:80000000 XonLimit:1000 XoffLimit:1000
    其中
    Rate: 9600指的是波特率。
    StopBits: 1停止位
    Parity: NONE 校验位
    WordLength: 8 数据长度
    这些是主要参数,但往往XON:11 XOFF:13 Shake:0 Replace:80000000 XonLimit:1000 XoffLimit:1000这些参数对传输也有所影响。故对SPCOMM控件的参数设置总结如下:
    Shake:
     SPCOMMR的DsrSensitivity=true 为40   
     SPCOMMR的DtrControl属性 
      DtrDisable=0
      DtrEnable=1
      DtrHandshake=2
     SPCOMMR的Outx_CtsFlow=true 为8
     SPCOMMR的Outx_DsrFlow=true 为10
    Replace: 
            SPCOMMR的Outx_XonXoffFlow=true  为1
         SPCOMMR的Inx_XonXoffFlow=true  为2
     SPCOMMR的ReplaceWhenParityError=true  为4
     SPCOMMR的IgnoreNullChar=true  为8
     SPCOMMR的TxContinueOnXoff=true  高位为8
     SPCOMMR的RtsControl属性 
      RtsDisable=00
      RtsEnable=40
      RtsHandshake=80
      RtsTransmissionAvailable=C0

    XonLimit:  SPCOMM的XOnLimit
    XoffLimit: SPCOMM的XOffLimit
    XOFF:      SPCOMM的XOffChar
    XON:       SPCOMM的XOnChar

  • 相关阅读:
    用Python实现的数据结构与算法:双端队列
    用Python实现的数据结构与算法:队列
    用Python实现的数据结构与算法:堆栈
    用Python实现的数据结构与算法:开篇
    用Markdown写博客
    一个简单的web.py论坛
    在OpenShift上托管web.py应用
    SQLite中的自增关键字:AUTO_INCREMENT、INTEGER PRIMARY KEY与AUTOINCREMENT
    【读书笔记】《HTTP权威指南》:Web Hosting
    【读书笔记】《HTTP权威指南》:Web Robots
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/5546876.html
Copyright © 2020-2023  润新知