对于串口来说,一般大家都了解波特率,校验码,数据位之类的参数。然而在实际的数据传输中,有些参数也会影响数据的传输。现总结如下,以便大家查询。
在对串口进行编程时,可用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

SPCOMM控件对串口参数的设置的更多相关文章

  1. delphi7在win7系统如何安装spcomm控件

    1.先准备好串口控件SPCOMM,例如把它放在F盘的工具安装文件夹下,等一下加载时需要用到. 2.打开delphi7软件. 3.按下上面的Component>Install  Component ...

  2. MSComm控件进行串口编程的基本步骤

    Visual C++为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控 ...

  3. 五种情况下会刷新控件状态(刷新所有子FWinControls的显示)——从DFM读取数据时、新增加子控件时、重新创建当前控件的句柄时、设置父控件时、显示状态被改变时

    五种情况下会刷新控件状态(刷新控件状态才能刷新所有子FWinControls的显示): 在TWinControls.PaintControls中,对所有FWinControls只是重绘了边框,而没有整 ...

  4. DevExpress 控件使用之GridControl基本属性设置

    DEV控件:gridControl常用属性设置     1.隐藏最上面的GroupPanel(实现方法两种)     ①代码实现:gridView1.OptionsView.ShowGroupPane ...

  5. DEV控件:gridControl常用属性设置(转载)

    特别长,先撸下来再说 1.隐藏最上面的GroupPanel  gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值  sValue=T ...

  6. DEV控件:gridControl常用属性设置

    1.隐藏最上面的GroupPanel  gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值  sValue=Table.Rows[g ...

  7. Chart控件,把Y轴设置成百分比

    这次所有属性设置都用代码(就当整理便于以后查询). 在窗体放置一个Chart控件,未做任何设置:然后编写代码: //设置 chart2.Legends[ ].Enabled = false;//不显示 ...

  8. 设置TextBlock默认样式后,其他控件的Text相关属性设置失效问题

    问题: 定义了默认TextBlock样式后,再次自定义下拉框 or 其他控件 ,当内部含有TextBlock时,设置控件的字体相关样式无效,系统始终使用TextBlock设置默认样式 解决方案: 为相 ...

  9. Dev的TextEdit控件IP地址的Mask设置

    1. 添加TextEdit控件. 2. 选中TextEdit控件,查看控件属性. 3. 展开Properties属性项,找到Mask属性项. 4. 设置Mask属性项的EditMask属性值为:(25 ...

随机推荐

  1. 批量部署ssh免密登陆

    #!/bin/bash#set -xservers="10.254.192.xx10.254.192.xx10.254.192.xx"passwd="xxxxxxxx&q ...

  2. kvm竟然抓不到kvm的tracepoint

    今天终于把kvm给搭起来了,打开了host机的tracepoint竟然一个都没有抓到,这是咋回事? 难道kvm的东西只有在启动的时候才会被抓到? 虚拟出来一块内存一块CPU,虚拟出来一个内存.感觉都好 ...

  3. hdu 1211 RSA (逆元)

    RSA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  4. [Linux]创建和启用Swap交换区

    如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存是一个不错的选择,我购买的DigitalOcean VPS ...

  5. python模块导入

    官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码文件按照功能可以分为两种类型: 用于执行的可执行程序文件 ...

  6. Linux Mint---fcitx中文,日语输入法

    安装中文输入法,我这边选了小企鹅,先前用过scim,稍微比较了下,效果还是这个好 安装可一步即可搞定 apt-get install fcitx fcitx-table-wubi-large fcit ...

  7. Linux学习总结—缺页中断和交换技术【转】

    三.Linux缺页中断处理 转自:http://blog.csdn.net/cxylaf/article/details/1626534 1.请求调页中断: 进程线性地址空间里的页面不必常驻内存,例如 ...

  8. C++ 采集音频流(PCM裸流)实现录音功能

    与上一篇的“C++ 播放音频流(PCM裸流)” 点击打开链接 相对应,本篇是关于用C++实现录音功能的.同样是直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用,也可以下载本人上传的相关 ...

  9. Git-添加或删除文件

    添加文件 $  git add blash $  git commit "add blash file" $ git push -u origin master 删除文件 $ gi ...

  10. Centos 6.3nginx安装

    1. 增加源: vi /etc/yum.repos.d/nginx.repo CentOS: [nginx] name=nginx repo baseurl=http://nginx.org/pack ...