toilet

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. Đăng 28/12/16 #1

    khoa8523 Học sinh phổ thông

    Số bài viết: 3
    Đã được thích: 0
    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);
    
                }
            }
        }
    }
    
    #1
  2. Đăng 28/12/16 #2

    Lê Tiến Dũng Moderator

    Số bài viết: 230
    Đã được thích: 212
    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.
    #2
  3. Đăng 28/12/16 #3

    khoa8523 Học sinh phổ thông

    Số bài viết: 3
    Đã được thích: 0
    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]
    #3

Chia sẻ trang này