serialport类是不是不能设置起始位?
我现在的通讯协议最前面有一位起始位0,这样该怎么处理程序呢?
以读为例:
           SerialPort sp;
           sp = new SerialPort();
           sp.ReadByte();//这里读取一个字节的时候,前面的起始位0该怎么处理呢??
系统会自动处理掉还是得自己处理,请高手给指点一下,从232口上读到缓冲区的是发过来的所有位吗?包括:起始位(0)、数据位(8位)、奇偶校验、终止位?还是说已经自动处理了只剩下8位数据位?

解决方案 »

  1.   


            _serialPort = new SerialPort();        _serialPort.StopBits = StopBits.One;
            _serialPort.Open();
      

  2.   

    leafold老大
    stopBits是停止位为1位,没有设置起始位的属性,这个起始位该怎么处理
      

  3.   

    硬件厂家和通讯规约都规定了起始位,但是C#里面的serialport类没有起始位的设置属性,这样在接收的时候会不会出现错误呢?请高手给分析一下
      

  4.   

    ReadByte()会从串口缓冲区一直会读到StopBit,所以你不用关心起始位。
      

  5.   

    再请教一下52yyp大哥:
    假如接收到数字信号为:0(起始位)11111111(8个数据位)0(偶校验)1(结束位),使用ReadByte()之后获得的值就是:11111111  吗?软件会自动把0(起始位过滤掉吗?)