如何打断别人,直到结束

时间:2019-07-06 21:57:52

标签: c# serial-port interrupt-handling

创建一个中断以等待数据通过串行端口到达。问题是当许多帧到达时,中断当然不会完成为它们准备的代码的执行。我怎样才能解决这个问题?要么阻止以后的中断,直到第一个结束以其他方式接收帧。

public class port{

static int cont=0;

  public port()
    {
        entryPort.BaudRate = 9600;
        entryPort.DataBits = 8;
        entryPort.Parity = Parity.None;
        entryPort.StopBits = StopBits.One;
        entryPort.Handshake = Handshake.None;
        entryPort.PortName = "COM3";


entryPort.DataReceived += new SerialDataReceivedEventHandler(dataIn);
        puertoEntrada.Open();
    }


    private static void llegaronDatos(object 
sender,SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
        console.write(cont);
        cont++;
        console.write("data:");
        Console.Write(indata);
    }
}

输入框:“ $$$”四次

输出:         $$$         $$$         $$$         $$$

如您所见,某些说明已被跳过,例如打印“数据:”

0 个答案:

没有答案