读取串口缓冲区会超时..........急!
本帖最后由 shinjixyj 于 2013-08-15 09:01:03 编辑
在读取时 有时会 发生超时 超时时间不定 有时超过10毫秒 有什么办法能快点吗 最好3毫秒内读好一个寄存器
for (int i = 0; i < len; i++)
{
c = sw.ElapsedMilliseconds;
serialPort1.Read(num, i, 1);
d = sw.ElapsedMilliseconds;
if ((d - c) > databyteout)//databyteout = 3
{
WritePrivateProfileString("error", "C:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), " " + c, FileNameerror);//记录时间
WritePrivateProfileString("error", "D:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), " " + d, FileNameerror);
Form2.isok = false;
Form2.boolcheck = false;
WritePrivateProfileString("error", "error" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), "字间超时!"
+ num[i] + " " + i + " " + thenum[0], FileNameerror);//记录读取超时的寄存器
MessageBox.Show("字间超时!");
serialPort1.DiscardInBuffer();