C# RS232 串口通信78短接握手设置
如果UART只有RX、TX两个信号,要流控的话只能是软流控;
如果有RX,TX,CTS,RTS 四个信号,则多半是支持硬流控的UART;
如果有 RX,TX,CTS ,RTS ,DTR,DSR 六个信号的话,RS232标准的可能性比较大。
在这里插入图片描述
计算机和非猫的连接(null modem connection),非猫设备包括开发板,MCU(STM32,PIC,ARM…)
在这里插入图片描述
参考.
RtsEnable 获取或设置一个值,该值指示在串行通信中是否启用请求发送 (RTS) 信号 默认值false
请求发送 (RTS) 信号通常用在请求发送/可以发送 (RTS/CTS) 硬件握手中。
CtsHolding 获取“可以发送”行的状态
在请求发送/可以发送 (RTS/CTS) 硬件握手中使用可以发送 (CTS) 行。发送数据之前端口会查询 CTS 行。
C#代码
SerialPort serialPort1 = new SerialPort();
//波特率
serialPort1.BaudRate = int.Parse(comboBox2.Text);
//数据位
serialPort1.DataBits = 8;
serialPort1.PortName = comboBox1.Text;
//两个停止位
serialPort1.StopBits = System.IO.Ports.StopBits.One;
//无奇偶校验位
serialPort1.Parity = System.IO.Ports.Parity.None;
serialPort1.ReadTimeout = 100;
serialPort1.Open();
if (!serialPort1.IsOpen)
{
MessageBox.Show("端口打开失败");
return;
}
else
{
//下方工具栏
toolStripStatusLabel1.Text = "端口" + comboBox1.Text + "打开成功";
}
//此处决定下一条是否起作用,默认值为false
serialPort1.RtsEnable = true;
//当78端口短接,假握手,变成true
bool cts1 = serialPort1.CtsHolding;