NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: C# citanie serial portu

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Rasto
Člen
Avatar
Rasto:31.5.2017 10:10

Zdravim, potreboval by som poradit lebo sa motam

FORM1zacina pocuvat na COM porte
Ako nahle pridu data na COM otvara sa form2

A tu by som potreboval keby, akonahle otvori FORM2
zatvorilo COM?

resp ze by som ho zas vo FORM2 otvoril....

vdaka

private void Form1_Load(object sender, EventArgs e)
       {
           SerialPort mySerialPort = new SerialPort();
           mySerialPort.PortName = "COM10";
           mySerialPort.BaudRate = 9600;
           mySerialPort.Parity = Parity.None;
           mySerialPort.StopBits = StopBits.One;
           mySerialPort.DataBits = 8;
           mySerialPort.Handshake = Handshake.None;
           mySerialPort.DataReceived += new SerialDataReceivedEventHandler(mySerialPort_DataReceived);
           mySerialPort.Open();

       }

       string _buffer;


       private void mySerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
       {

           if (this.InvokeRequired)
           {
           // Using this.Invoke causes deadlock when closing serial port, and BeginInvoke is good practice anyway.
           this.BeginInvoke(new EventHandler<SerialDataReceivedEventArgs>(mySerialPort_DataReceived), new object[] { sender, e });
           return;
           }

           SerialPort sp = (SerialPort)sender;
           string data = sp.ReadExisting();
           data = data.Replace("\u0002", "");
           data = data.Replace("\r\n\u0003", "");
           data = data.Replace("\r", "");

           _buffer += data;

           if (_buffer.Length >= 10)
           {

               chipnumber = int.Parse(_buffer);
               _buffer = null;
           Form2 form2 = new Form2(chipnumber);
           form2.ShowDialog();

       }
 
Odpovědět
31.5.2017 10:10
Avatar
Martin Gabriel
Tvůrce
Avatar
Odpovídá na Rasto
Martin Gabriel:31.5.2017 12:44

Zkus prosím znova a nějak podrobněji popsat, co přesně chceš udělat. A kdyžtak i proč to chceš udělat?

Nahoru Odpovědět
31.5.2017 12:44
"Be the change you want to see in the world" - Michael Scofield
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.