Trong bài này ta sử dụng C# trong MICROSOFT VISUAL STUDIO 2010 để viết để viết chương trình giao tiếp giữa vi điều khiển với máy tính qua cổng COM.
Đầu tiên ta tạo mới một project: New -> Project
Chọn Windows Forms Application và đặt tên cho chúng. Ở ví dụ dưới đặt là Project_comport1
Kéo lớp SerialPort ở cửa sổ toolbox vào form mới vừa được tạo (Nếu ta không thấy cửa sổ toolbox ta vào menu View -> Toolbox).
Nhấp chuộc phải lên control vừa mới kéo thả , chọn Properties như hình dưới:
Hình dưới là cửa sổ của Properties của serialPort1
Ở đây ta quan tâm đến các properties sau:
BaudRate : Chỉ định tốc độ baudRate (ta có thể chọn 1 trong các giá trị: 19200, 9600, 4800, 2400, 1800, 1200, 600, 300, 150, 110)
DataBits : Số bit dữ liệu (ta có thể chọn 1 trong các giá trị: 6, 7, 8)
Parity : Kiểm tra chẵn lẻ (ta có thể chọn 1 trong các giá trị: Odd, None, Even)
StopBits : số bit stops (ta có thể chọn 1 trong các giá trị: 1, 1.5, 2)
PortName: tên cổng vật lý mà ta muốn kết nối đến vi điều khiển, muốn biết máy tính có bao nhiêu cổng Com ta có thể Device Manager bằng cách: Nhấp chuột phải lên My computer - > manage - >Device Manager -> Ports, hình bên dưới là các cổng Com trên máy tính mình đang có đó là COM4 và COM5
Ta thiết lập lại các thông số của properties serialPort1 như sau:
BaudRate : 9600
DataBits : 8
Parity : None
StopBits : 1
PortName: COM4 (Đối với máy tính của bạn phải thiết lập theo tên cổng COM mà bạn đang muốn kết nối đến vi xữ lý).
Các thông số còn lại để theo mặc định.
Thêm vào các control trong cửa sổ toolbox để được như hình bên dưới:
Ta tiến hành đặt tên lại tên (Name) và nhãn hiển thị (Text) cho mỗi control bằng cách nhấn chuộc phải lên từng control (Ví dụ nút nhấn) và chọn Properties
Ta tiến hành đặt tên lần lượt từng control như hình bên dưới:
Click đúp chuột lên nút Kết Nối để mở cửa sổ soạn thảo code, chèn đoạn code sau đây vào :
if (serialPort1.IsOpen == false)
{
serialPort1.Open();
MessageBox.Show("Bạn đã mở thành công");
}
else
{
MessageBox.Show("Cổng COM đang mở");
}
/* Lệnh trên kiểm tra cổng serialPort đã mở chưa, nếu chưa mở thì mở bằng lệnh serialPort1.Open() , và hiển thông điệp "Bạn đã mở thành công" . Ngược lại báo "Cổng COM đang mở" */
Làm tương tự với nút Ngắt Kết Nối
if (serialPort1.IsOpen == true)
{
serialPort1.Close();
}
/* Lệnh serialPort1.Close() ngắt kết nối */
Nút Gửi Dữ Liệu:
if (serialPort1.IsOpen == true)
{
if (cb_LED1.Checked == false && cb_LED2.Checked == false)
{
serialPort1.Write("0");
}
if (cb_LED1.Checked == true && cb_LED2.Checked == false)
{
serialPort1.Write("1");
}
if (cb_LED1.Checked == false && cb_LED2.Checked == true)
{
serialPort1.Write("2");
}
if (cb_LED1.Checked == true && cb_LED2.Checked == true)
{
serialPort1.Write("3");
}
}
else
{
MessageBox.Show("Bạn chưa mở cổng COM");
}
Nguồn sưu tầm
Điện Tử eChipKool.Com - Chia sẻ kiến thức - Kết nối đam mê điện tử