Cần giúp Cho em hỏi cái code này chút.

Thảo luận trong 'Matlab'

Đang xem chủ đề này ( Thành viên: 0, Khách: 0)

  1. khoa8523

    khoa8523 Học sinh phổ thông

    Tình hình là em đang làm đồ án đo lường dùng visual studio 2013. Thầy có cho mẫu về tham khảo nhưng em không giỏi code cho lắm, xem không hiểu. Phiền các anh chị giúp em chú thích cho dể hiểu với. Em cám ơn ạ.

    cam-bien-sieu-am.rar (58.79KB) - UpFile.vn

    Mã:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.IO.Ports;
    using System.Text;
    using System.Windows.Forms;
    
    namespace ARDUINO_GTMT
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                comboBox1.DataSource = SerialPort.GetPortNames();
    
            }
    
            public static string s = "";
            public string chuoi = "";
    
            private void button1_Click(object sender, EventArgs e)
            {
    
                try
                {
                    if (com.IsOpen == true)
                    {
                        com.Close();
                        com.PortName = comboBox1.Text;
                        com.Open();
                        trangthai.Text = comboBox1.Text + " Đang Được Kết Nối";
    
                    }
                    else
                    {
                        com.PortName = comboBox1.Text;
                        com.Open();
                        trangthai.Text = comboBox1.Text + " Đang Được Kết Nối";
    
                    }
                }
                catch
                {
                    trangthai.Text = "Kết Nối Thất Bại";
                }
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                trangthai.Text = " Chưa Kết Nối";
                com.Close();
            }
    
    
    
            private void com_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
            {
                s = com.ReadExisting();
                Display(s);
            }
    
            private delegate void DlDisplay(string s);
            private void Display(string s)
            {
                int kc;
                if (label3.InvokeRequired)
                {
                    DlDisplay sd = new DlDisplay(Display);
                    label3.Invoke(sd, new object[] { s });
                }
                else
                {
                    label3.Text = s.Substring(1, 2);
                    //label3.Text = s;
    
                    kc = int.Parse(label3.Text);
    
                }
            }
        }
    }
    
     
  2. Lê Tiến Dũng

    Lê Tiến Dũng Moderator

    Cái này đơn giản là khi nhấn nút kết nối nó sẽ kết nối theo cổng COM được nhập từ ô nhập liệu (
    comboBox1)
    Sau đó là hàm đọc dữ liệu com_DataReceived và hiển thị dữ liệu vào label3 thông qua hàm Display
    Bạn có thể tham khảo
     
    mta_cdtkhoa8523 thích bài này.
  3. khoa8523

    khoa8523 Học sinh phổ thông

    Cho em hỏi cứ chạy 1 lúc nó nóng mạch rồi báo lỗi như thế này là sao ạ? Có cách khắc phục không?

    [​IMG]

    [​IMG]
     
    Last edited: 28/12/16

Chia sẻ trang này