首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SerialPort上设置DTR、RTS、CTS、DSR和Xonn/Xoff

在SerialPort上设置DTR、RTS、CTS、DSR和Xonn/Xoff
EN

Stack Overflow用户
提问于 2015-09-29 10:55:16
回答 1查看 6.1K关注 0票数 2

我有这个C++代码,我需要把它翻译成C#。

代码语言:javascript
复制
 *hDev = CreateFile(PortNameUNC, GENERIC_READ|GENERIC_WRITE, 0, NULL, 
      OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

 if(*hDev == INVALID_HANDLE_VALUE) return false ;

DCB *dcb = new DCB ;
memset(dcb, 0x00, sizeof(DCB)) ;
dcb->DCBlength       = sizeof(DCB);
dcb->BaudRate        = BaudRate;
dcb->Parity          = Parity;
dcb->StopBits        = StopBits;
dcb->ByteSize        = ByteSize;
dcb->fBinary         = TRUE;
dcb->fDsrSensitivity = 0;
dcb->fDtrControl     = (DTR ? DTR_CONTROL_ENABLE : DTR_CONTROL_DISABLE) ;
dcb->fRtsControl     = (RTS ? RTS_CONTROL_ENABLE : RTS_CONTROL_DISABLE) ;
dcb->fOutxCtsFlow    = (CTS ? 1 : 0) ;
dcb->fOutxDsrFlow    = (DSR ? 1 : 0) ;
dcb->fOutX           = (XonnXoff ? 1 : 0) ;
dcb->fInX            = 0 ;

我成功地在C#上翻译了其中的大部分内容。

代码语言:javascript
复制
    m_port = new SerialPort(portName, baudRate, parity, dataBits, stopBits);

但是我不知道如何设置像DTR, RTS, CTS, DSR and Xonn/Xoff?这样的属性

我在Dtr.EnableRts.Enable上找到了SerialPort属性,但是其他三个属性该怎么办呢?CTS,DSR和Xonn/Xoff?怎样才能使他们有能力?

编辑:还有,这是我上面的C#实现。,我是否正确地将C++代码映射到C#,如下所示?,特别是xon/xoff标志,dtrrts

代码语言:javascript
复制
 public SerialPortHASP(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits, bool dtr, bool rts, bool xonxoff)
    {

        m_port = new SerialPort(portName, baudRate, parity, dataBits, stopBits);

        // Set XonXoff if set
        if (xonxoff)
            m_port.Handshake = Handshake.XOnXOff;

        // Set DTR/RTS
        m_port.DtrEnable = dtr;
        m_port.RtsEnable = rts;

        // Open the port for communications
        m_port.Open();
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-29 11:25:54

CTS和DSR是输入,因此不能从代码中设置它们。可以通过访问以下属性来检查它们: CtsHolding和DsrHolding。

XOnXOff是一个流控制,可以使用串口握手属性进行设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32842095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档