SPCOMM控件对串口参数的设置

摘要:
对于串行端口,我们通常知道波特率、校验码、数据位和其他参数。然而,在实际的数据传输中,一些参数也会影响数据传输。摘要如下,供您查询。在编程串行端口时,您可以使用portman跟踪串行端口参数,提示如下:150.000001006IOCTL _ SERIAL_SET_ BAUD_ RATESerial0SUCCESSRate:9600160.000531IOCTL _ SERIAL_ CLR_ RTSSerial0SUCCESS170.00000559IOCTL _ SERIAL_CLR_ DTRSerial0SUCCESS180.000000447IOCTL _串行_ SET_ LINE_CONTROLSERIAL_ SUCESSStopBits:1Parity:NONE字长:8190.00000279IOCTL _ SERIAL_ SET_ CHARSerial_SUCCESSEOF:0ERR:0BRK:0EVT:0XON:11XOFF:1320000000391IOCTL _这是一个很好的例子SET_ HANDFLOWSerial0SUCCESSlike:0替换:80000000XonLimit:1000XoffLimit:1000,其中Rate:9600表示波特率。

 

   对于串口来说,一般大家都了解波特率,校验码,数据位之类的参数。然而在实际的数据传输中,有些参数也会影响数据的传输。现总结如下,以便大家查询。
在对串口进行编程时,可用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控件对串口参数的设置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ubuntu下卸载mysql后重新安装(转)C#中 特性(attribute)的用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

STM32 串口采用DMA方式收发

FROM:https://blog.csdn.net/gdjason/article/details/51019219 什么是DMA —- Directional Memory Access, 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作 我...

C# 获取 串口 设备名称 与 串口号 ManagementObjectSearcher类

1.效果图: 2.代码 classProgram { static void Main(string[] args) { GetComList(); } private static voidGetComList() {try{...

菜鸟学STM32之串口通讯

微信公众号:小樊Study关注共同学习,问题或建议,请公众号留言!!! 串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。现在基本上所有的MCU都会带有串口,STM32自然也不例外。STM32F4的串口资源相当丰富的,功能也相当强劲。STM32F4开发板所使用STM32F407ZGT6 最多可提供 6 路串口,有分数波特...

Linux串口

可以参考http://www.cnblogs.com/lovemo1314/archive/2010/10/29/1864327.html 《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院)第2章、嵌入式文件和I/O编程 设置串口属性的基本流程: 保存原先串口配置 使用tcgetattr(fd,&old_cfg)函数,该函数得到有fd...

PL2303 Windows8.1驱动

常用的USB转串口下载芯片驱动可以参照我这篇文章USB转串口 FT232/PL2303/CH340 驱动以及使用体会 ,今天有找出了那根串口线打算使用,由于系统已经换为Windows8.1 X64所以又去官网找驱动去了,一看悲剧了。官方信息如下: PL2303 Windows Driver Download Download File:PL2303_P...

Arduino-定义串口

在一个老外写的代码中找到了一个非常好的定义串口的方法! Arduino用下面这种方法定义串口可以方便的把协议应用的任意的端口,大大提高了代码的修改性和移植性。 以下是范例: #define baudrate 9600 //定义通讯波特率HardwareSerial*ModbusPort; unsigned char frame[10]={1,2,3,...