public Byte[] IsSendMessage(Byte[] message)
{
SerialPort port = new SerialPort(); // 定义串口的规格
port.PortName = "COM5";
port.BaudRate = 2400;
//打开串口
port.Open();
int buffersize = message.Length; //十六进制数的大小
port.Write(message, 0, buffersize);
System.Threading.Thread.Sleep(1000);//挂起1秒
//接收的字节数组的大小
int bytes = port.BytesToRead; Byte[] buffer = new Byte[bytes]; //创建缓冲区
port.Read(buffer, 0, bytes);
//port.Close();
return buffer; //string result = new UnicodeEncoding().GetString(buffer);
//return result; }
代码如上:问题出在:
int bytes = port.BytesToRead;
在第一次调试的时候是正常的,但是将与单片机连接的com口拔掉然后再连上的时候就bytes一直是0。
这是为什么?
急用!!!!
{
SerialPort port = new SerialPort(); // 定义串口的规格
port.PortName = "COM5";
port.BaudRate = 2400;
//打开串口
port.Open();
int buffersize = message.Length; //十六进制数的大小
port.Write(message, 0, buffersize);
System.Threading.Thread.Sleep(1000);//挂起1秒
//接收的字节数组的大小
int bytes = port.BytesToRead; Byte[] buffer = new Byte[bytes]; //创建缓冲区
port.Read(buffer, 0, bytes);
//port.Close();
return buffer; //string result = new UnicodeEncoding().GetString(buffer);
//return result; }
代码如上:问题出在:
int bytes = port.BytesToRead;
在第一次调试的时候是正常的,但是将与单片机连接的com口拔掉然后再连上的时候就bytes一直是0。
这是为什么?
急用!!!!
解决方案 »
- backgroundWorker执行无限循环,CancelAsync()还能发挥作用吗?
- 正则表达式的使用
- 求助--关于一个编译的错误
- 输入时间,自动补齐日期的怎么写?
- 能不能让enum对应到数组上?
- 怎样将多个byte[] 合并为一个byte[]??? [在线等,急]
- 怎么把开发好的系统从中文版改成英文版
- ★★★★★★★★★★★☆☆☆☆☆☆☆☆☆★★★★★★★★★★★高分相送..怎样在installshield中加入.net框架和MDAC.谢谢!!!
- base64反编码,还原的问题?
- 串口发送数据接收数据问题。
- B/S下如何显示 AUTOCAD .DWG格式的图?
- 谁能解决我的图片下载问题?
你要在
在Write 发送前 判断 串口是否正常打开
如果没有的话 Open()一下 再发数据就行了