日期:2014-05-19  浏览次数:20862 次

关于serialPort类询问!!!!!!!!!
我初始化了一个该类的实例,,,,,设置的stopBit属性为One,,,,,

请问,我要发送两个字节的byte,实际发送了多少个位????

是这样吗??
起始位(1位)+2字节(16位)+停止位(1位),??
还是下面的格式:
起始位(1位)+1字节(8位)+停止位(1位)+起始位(1位)+1字节(8位)+停止位(1位)???????????????

我发先单片机发送的内容和C#程序接收的内容不一样啊...

------解决方案--------------------
起始位(1位)+1字节(8位)+停止位(1位)+起始位(1位)+1字节(8位)+停止位(1位)
------解决方案--------------------
起始位(1位)+1字节(8位)+停止位(1位)+起始位(1位)+1字节(8位)+停止位(1位)
你在serialPort1.Write中写入的数据的是byte型的
//阻塞到读取数据或超时(这里为2秒)
byte firstByte=Convert.ToByte(serialPort.ReadByte());
int bytesRead=serialPort.BytesToRead ;
byte[] bytesData=new byte[bytesRead+1];
bytesData[0] = firstByte;
for (int i = 1; i <=bytesRead; i++)
bytesData[i] = Convert.ToByte( serialPort.ReadByte());
txtReceive.Text = System.Text.Encoding.Default.GetString(bytesData);
接收时最好采用同样的编码方式