解决方案 »
- textBox文本框输入值后如何自动将值添加到datagridview中
- 怎么使c#的程序打开需要密码
- list<t> 的多层循环
- 谁能把这个(%3F%3F%3F%19%3F%5BM%3F%0Ez%21%3F%1F) 编码字符串给转换过来?
- QQ音乐桌面歌词是如何做到完全的消除锯齿并且透明的显示在桌面上的?
- ?怎么生成1~1000的数字txt或者其他的文档?
- 正则表达式URL替换问题
- 汉字转换的问题
- 请问在C#中如何调GetDiskFreeSpace(API函数)
- 我正在学习使用正则表达式,想知道哪里有较多的范例,谢谢
- .net在当前类里面new一个静态的readonly 当前类有何意义?
- dev TreeList控件的问题!
int nReadLen=1024;
int nLeftLen=nReadLen;
byte[] buffer=new byte[nReadLen];
while(nLeftLen>0)
{
nLeftLen-=mySerialPort.Read(buffer,nReadLen-nLeftLen,nLeftLen);
}
{
if(mySerialPort.IsOpen == false)
mySerialPort.Open();
Thread.Sleep(1000);
byte[] ReDatas= new byte[mySerialPort.BytesToRead];
mySerialPort.Read(ReDatas, 0, ReDatas.Length);
...//数据处理
Thread.Sleep(1000);
mySerialPort.Close();
}
serialPortData.DataReceived += new SerialDataReceivedEventHandler(serialPortData_DataReceived); void serialPortData_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] readHex = new byte[serialPortData.BytesToRead];
serialPortData.Read(readHex, 0, readHex.Length);
}
在你打开串口的时候,发送方并没有向串口发送数据,所以BytesToRead为0只是为什么要频繁的打开关闭串口呢?
谢谢你的回答!是同一个程序要执行多次。我现在是将程序写成控件供JS页面调用,多个JS页面操作时都需要用到同一个串口。如果不把之前打开的关闭,第二个页面调用时就无法打开。那之前我一开始问的那个问题怎么解决?大神有QQ吗?想向你请教!
Thread.Sleep(1000);
mySerialPort.Close();可以不Sleep而直接关闭串口的