关于串口BytesToRead属性的奇怪问题!!!
上位机接收下位从串口传送的数据:(上位机每读取一次下位机就发上来32个字节)
private static int ReadSize; //读取缓冲区的大小
……
ReadSize = serialPort.BytesToRead;
serialPort.Read(Read_Buffer, 0, ReadSize);
……
问题出在红色代码部分,比如第一次读取时 serialPort.BytesToRead=0x20,但执行该语句后ReadSize的值依然是0;再读取一次,ReadSize(0x30)的值就改变了,但也并不等于serialPort.BytesToRead(0x50) 请问这是为什么?弄了很久都没搞明白原因,请高手们解惑!
------解决方案--------------------
private static int ReadSize;不要把ReadSize定义成static