C#串口对于1位起始位,8位数据位,1位校验位(偶),一位停止位的数据是如何发送的 10
C#中,设置了串口属性COM口,波特率9600,数据位8位,停止位1位,偶校验,与下位机协议匹配,但是总是提示通讯超时,而使用名为“串口调试程序-大傻”的串口调试助手相同...
C#中,设置了串口属性COM口,波特率9600,数据位8位,停止位1位,偶校验,与下位机协议匹配,但是总是提示通讯超时,而使用名为“串口调试程序-大傻”的串口调试助手相同的设置就可以通讯,一直不明白为什么,C#中设置了串口的属性后还需要再根据设置项来做通讯程序的处理吗?比如设置了串口为偶校验,还需要在程序中收发数据的时候进行人为的数据校验吗?不是校验不是由底层硬件来执行的吗?如果需要人为校验,那么8位数据1位校验位这样的数据串口是怎样发送的?请懂C#串口操作的各位大侠解疑!
串口属性设置:
string sValue = (string)keyCom.GetValue(sName);
serialPort1.PortName = sValue;
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.Parity = Parity.Even;
serialPort1.StopBits = StopBits.One;
发送的数据:
public static byte[] TxBuf = new Byte{0x01,0x03,0x00,0x00,0x00,0x01,0x84, 0x0A}; 展开
串口属性设置:
string sValue = (string)keyCom.GetValue(sName);
serialPort1.PortName = sValue;
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.Parity = Parity.Even;
serialPort1.StopBits = StopBits.One;
发送的数据:
public static byte[] TxBuf = new Byte{0x01,0x03,0x00,0x00,0x00,0x01,0x84, 0x0A}; 展开
展开全部
用串口的模式1,是10位异步通信方式。
1起始位,8数据位,1停止位,没有奇偶校验位。
这种模式就是:8-n-1(8数据位,无奇偶校验位,1停止位)的模式。
完全符合你的要求。
--------------------
带奇偶校验位的,要用方式2或方式3。
把奇偶校验位,放到TB8上,就可以发送了,这就是偶校验。
接收的奇偶校验位,在RB8中。
--------------------
呵呵,你还用上了示波器!奢侈
你观察的很正确。
1起始位,8数据位,1停止位,没有奇偶校验位。
这种模式就是:8-n-1(8数据位,无奇偶校验位,1停止位)的模式。
完全符合你的要求。
--------------------
带奇偶校验位的,要用方式2或方式3。
把奇偶校验位,放到TB8上,就可以发送了,这就是偶校验。
接收的奇偶校验位,在RB8中。
--------------------
呵呵,你还用上了示波器!奢侈
你观察的很正确。
追问
你说的是51单片机串口的设置吧,我用的是计算机COM口
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询