1. Trang chủ
  2. » Cao đẳng - Đại học

Ngôn ngữ lập trình visua basic 7

10 23 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 415,79 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nếu nhấn Đóng Port, đóng port và chuyển thành Mở Port.. Textbox txtSend Textbox txtReceive - Nhấn Send: gởi nội dung trong txtSend ra port nối tiếp - Nếu có dữ liệu đến port nối tiếp thì

Trang 1

1 Serial

2 InstrumentLab

BÀI 7: GIAO TIẾP NỐI TIẾP

1 Bài 7

14:31:59

Serial

09:56:11

Giao diện thiết kế:

- Nhấn Mở Port: mở port, sau đó chuyển thành Đóng Port Nếu nhấn Đóng Port,

đóng port và chuyển thành Mở Port.

Textbox txtSend

Textbox txtReceive

- Nhấn Send: gởi nội dung trong txtSend ra port nối tiếp

- Nếu có dữ liệu đến port nối tiếp thì hiện nội dung lên txtReceive.

1

2

Trang 2

Bài 7 3

Serial

09:56:11

Quy trình sử dụng cổng nối tiếp:

- Cấu hình cổng: tốc độ, tên cổng, …

- Mở cổng

- Truyền / nhận dữ liệu

- Đóng cổng

Serial

09:56:11

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles

Me.Load

For Each sp As String In My.Computer.Ports.SerialPortNames

comboPort.Items.Add(sp)

Next

Try

comboPort.SelectedIndex = 0

Catch

MessageBox.Show("Không có cổng COM" + vbCrLf + "Kết thúc

3

Trang 3

Bài 7 5

09:56:11

For Each sp As String In My.Computer.Ports.SerialPortNames

comboPort.Items.Add(sp)

Next

Tìm tất cả các cổng nối tiếp có trong máy tính:

Try

comboPort.SelectedIndex = 0

Catch

MessageBox.Show("Không có cổng COM" + vbCrLf + "Kết thúc

chương trình", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error)

End

End Try

Nếu không có cổng nối tiếp nào thì kết thúc chương trình:

09:56:11 Try

' code

' Có thể dùng Exit Try để kết thúc khối lệnh và khôi phục sau End Try

Catch

' Định nghĩa các kiểu ngoại lệ và hành động xử lý

Finally

' Định nghĩa các hành động cuối cùng làm ở đây

End Try

5

6

Trang 4

Bài 7 7

Private Sub comboPort_SelectedIndexChanged(sender As Object, e As

EventArgs) Handles comboPort.SelectedIndexChanged

SerialPort1.PortName = comboPort.Text

End Sub

09:56:11 Chọn cổng:

Mở / đóng cổng:

Private Sub bttOpenPort_Click(sender As Object, e As EventArgs)

Handles bttOpenPort.Click

If bttOpenPort.Text = "Mở port" Then

If Not SerialPort1.IsOpen Then

SerialPort1.Open()

bttOpenPort.Text = "Đóng port"

comboPort.Enabled = False

Else

MessageBox.Show(("Cổng đã sử dụng" + vbCrLf + "Chọn

cổng khác", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error))

End If

Else

SerialPort1.Close()

bttOpenPort.Text = "Mở port"

comboPort.Enabled = True

End If

End Sub

09:56:11 Truyền dữ liệu:

Nhận dữ liệu: nếu có dữ liệu đến cổng nối tiếp thì đọc dữ liệu và gán vào textbox

Private Sub bttSend_Click(sender As Object, e As EventArgs) Handles

bttSend.Click

SerialPort1.Write(txtSend.Text)

End Sub

Private Sub SerialPort1_DataReceived(sender As Object, e As

SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

Rx = SerialPort1.ReadExisting

Me.Invoke(New EventHandler(AddressOf SetText))

7

Trang 5

Bài 7 9

15:20:54 Kết thúc chương trình:

Private Sub bttExit_Click(sender As Object, e As EventArgs)

Handles bttExit.Click

End

End Sub

Private Sub Form1_Closed(sender As Object, e As EventArgs) Handles

Me.Closed

If SerialPort1.IsOpen Then SerialPort1.Close()

End Sub

15:54:14

Bổ sung thêm:

- 1 checkbox: cho phép gởi liên tục hay không

- 1 textbox: nhập thời gian delay giữa 2 lần truyền

Bổ sung thêm:

- 1 textbox: cho phép nhập start string

- 1 textbox: cho phép nhập stop string

- Cấu trúc gởi dữ liệu: start_data_stop

9

10

Trang 6

Bài 7 11

15:54:14

Xử lý dữ liệu nhận:

- Giả sử cấu trúc dữ liệu nhận có dạng STARTdataSTOP,

viết đoạn chương trình lấy dữ liệu và bỏ qua các giá trị

nhập không đúng

Xử lý dữ liệu nhập:

- Giả sử cấu trúc nhận có dạng STARTdata1data2STOP, trong đó

data1 có chiều dài 3 chứa thông tin nhiệt độ, data2 có

chiều dài 3 chứa thông tin độ ẩm, viết đoạn chương trình

lấy dữ liệu và bỏ qua các giá trị nhập không đúng

- VD: Nhận START290505STOP  nhiệt độ = 29.0, độ ẩm = 50.5%

Xây dựng chương trình theo yêu cầu:

- VB1: nhấn Send sẽ truyền chuỗi “START” để yêu cầu quá trình

truyền đến VB2

- VB2 gởi lại chuỗi “OK” để bắt đầu quá trình

- VB1 sau khi nhận chuỗi “OK” sẽ bắt đầu quá trình truyền và

kết thúc bằng chuỗi “STOP”

- VB2 sau khi nhận “STOP” thì kết thúc truyền (lưu nội dung

đã nhận vào file text)

15:20:54 11

Trang 7

Bài 7 13

15:54:14

http://www.mitov.com/products/instrumentlab#downloads

Download:

Cài đặt

InstrumentLab

InstrumentLab

14:15:23

Led:

Led1.Value = True Led1.Value = False

MultiLed:

13

14

Trang 8

Bài 7 15

InstrumentLab

09:56:11

MultiLed:

MultiLed1.States(1).Value = True

MultiLed1.States(0).Value = True

MultiLed1.States(2).Value = True

MultiLed1.States(3).Value = True

InstrumentLab

09:56:11

s1.Value.set_Values(1, True)

s1.Value.set_Values(1, True)

s1.Value.set_Values(3, True)

15

Trang 9

Bài 7 17

InstrumentLab

14:47:02

SegmentGauge:

InstrumentLab

14:49:21

SegmentGauge:

SegmentGauge1.Value = 10

17

18

Trang 10

Bài 7 19

InstrumentLab

09:56:11

Thermometer:

Thermometer1.Value = 60

Thermometer1.Max = 100

Thermometer1.Min = 0

09:56:11 InstrumentLab

Thiết kế chương trình như hình vẽ, dữ liệu nhận từ cổng nối tiếp

có dạng STARTdata1data2STOP, trong đó data1 có chiều dài 3 chứa

thông tin nhiệt độ, data2 có chiều dài 3 chứa thông tin độ ẩm

START367456STOP

19

Ngày đăng: 24/10/2020, 10:24

TỪ KHÓA LIÊN QUAN

w