मैं अपने सीरियल पोर्ट को पढ़ना चाहता हूं लेकिन केवल तभी जब डेटा आता है (मैं मतदान नहीं करना चाहता)।सी # डेटा सीरियल पोर्ट पढ़ता है जब डेटा आता है
इस तरह मैं इसे करता हूं।
Schnittstelle = new SerialPort("COM3");
Schnittstelle.BaudRate = 115200;
Schnittstelle.DataBits = 8;
Schnittstelle.StopBits = StopBits.Two;
....
और फिर मैं एक धागा शुरू
beginn = new Thread(readCom);
beginn.Start();
और मेरी readCom मैं निरंतर (मतदान :()
private void readCom()
{
try
{
while (Schnittstelle.IsOpen)
{
Dispatcher.BeginInvoke(new Action(() =>
{
ComWindow.txtbCom.Text = ComWindow.txtbCom.Text + Environment.NewLine + Schnittstelle.ReadExisting();
ComWindow.txtbCom.ScrollToEnd();
}));
beginn.Join(10);
}
}
catch (ThreadAbortException)
{
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
मैं yout पढ़ चाहते हैं जब एक इंटरप्ट आ रहा है पढ़ रहा हूँ लेकिन मैं यह कैसे कर सकता हूं?
यह उदाहरण कोड .NET 4.5 में उपयोग करने के लिए अधिक सुरक्षित नहीं है। Console.ReadKey() एक लॉक प्राप्त करता है जो Console.Write() को कुछ भी लिखने से रोकता है। डीबग.प्रिंट() ठीक है। –
मैं इसे संपादित कर दूंगा! धन्यवाद! –
@ हंसपैसेंट इसके लिए धन्यवाद। उसने एमएसडीएन पर कई थ्रेडिंग उदाहरणों को तोड़ दिया होगा :) – kenny