Ở phần trước, mình đã hướng dẫn thiết kế 1 form trong C# và cách thiết lập các cài đặt cơ bản cho cổng COM trong C#. Bạn nào chưa đọc thì xem tai lại bài hướng dẫn Tạo form setting trong C# – Phần 1: Tạo Form.

Ở bài hướng dẫn này chúng ta sẽ thử kết nối (Connect), sau đó ngắt kết nối (Disconnect) với cổng COM ảo sau khi thực hiện thành công bước này chúng ta sẽ băt đầu lập trình giao tiếp giữa vi điều khiển với máy tính thông qua cổng COM.

  1. Xử lý sự kiện Kết nối (Connect).

 

Thông qua sự kiện Click Button Connect người dùng báo cho Windows thực hiện công việc kết nối cổng COM để truyền nhận tín hiệu. Để khởi tạo sự kiện Connect chúng ta thực hiện theo 3 bước như ở hình dưới:

– Bước 1: Click ( 1 cái ) vào Button Connect

– Bước 2: Click ( 1 cái ) vào biểu tưởng trong hình vuông.

– Bước 3: Double Click vào ô bên cạnh chữ Click.

Chúng ta thêm đoạn code sử lý sự kiện vào và kết quả là được đoạn code:

        private void btnConnect_Click(object sender, EventArgs e)
        {
            // Cai dat thong so cho ComPort
            ComPort.PortName = Properties.Settings.Default.PortName;
            ComPort.BaudRate = Properties.Settings.Default.BaudRate;
            ComPort.DataBits = Properties.Settings.Default.DataBits;
            ComPort.StopBits = Properties.Settings.Default.StopBits;
            ComPort.Parity = Properties.Settings.Default.Parity;
            ComPort.Handshake = Properties.Settings.Default.Handshake;
            // Khoi tao su kien nhan du lieu cho ComPort
            ComPort.DataReceived += new SerialDataReceivedEventHandler(DataReceive);

            // Ket noi voi cong COM
            try
            {
                ComPort.Open(); // Mo cong com
                btnDisconnect.Enabled = true;
                btnConnect.Enabled = false;
                lbStatus.Text = "Port is connecting with " + ComPort.PortName;
            }
            catch
            {
                MessageBox.Show("Not connect", "Try", MessageBoxButtons.OK, MessageBoxIcon.Error);
                btnConnect.Enabled = true;
            }
        }

2. Tương tự với Disconnect

private void btnDisconnect_Click(object sender, EventArgs e)
        {
            if (!(ComPort == null))
            {
                if (ComPort.IsOpen)
                {
                    try
                    {
                        // Wait for the transmit buffer to empty
                        while (ComPort.BytesToWrite > 0) { }
                        ComPort.Dispose();
                        ComPort.Close();
                    }
                    catch (TimeoutException) { }
                }
            }
            btnConnect.Enabled = true;
            btnDisconnect.Enabled = false;
            lbStatus.Text = "Port is closed!";
        }

Kết quả kết nối thành công;
[stream provider=youtube flv=http%3A//www.youtube.com/watch%3Fv%3DTgp9E9kAoQw img=x:/img.youtube.com/vi/Tgp9E9kAoQw/0.jpg embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false responsive=16:9 /]

Kết thúc bước này Project sẽ có thêm đoạn code xử lý. Khi chạy sẽ được như video trên. Để tiện cho các bạn code tới bước này có thể download ở đây:

[dl url=”http://sh.st/eBd3g” title=”Download” desc=”Project bước 2″ type=”RAR”]