Lập trình visual basic điều khiển phần cứng qua cổng COM

2 642 1
Lập trình visual basic  điều khiển phần cứng qua cổng COM

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

Thông tin tài liệu

Lập trình Visual Basic: Điều khiển phần cứng qua cổng COM Bài toán lập trình điều khiển phần cứng qua cổng COM của máy tính (PC) luôn được nhiều người quan tâm. Bài viết này trao đổi kinh nghiệm sử dụng Visual Basic 6.0 (VB) cho lập trình điều khiển cổng COM. VB 6.0 cung cấp một đối tượng điều khiển dưới dạng đóng gói ActiveX: Microsoft Comm Control 6.0 (MsComm). Để sử dụng được nó, yêu cầu tập tin mscomm32.ocx (chế độ 32 bit) phải có mặt tại thư mục \Windows\System. Sử dụng MsComm cho phép can thiệp tới tất cả các đường tín hiệu điều khiển “bắt tay” - RTS, CTS, DTR, DSR, DCD, RI và các đường thu/phát RxD/TxD của cổng COM. Đáng tiếc MsComm chỉ hỗ trợ truyền dữ liệu dạng chuỗi. Trong kỹ thuật điều khiển phần cứng, các byte mã nhận dạng kết thúc chuỗi, điều khiển dòng cần phải loại bỏ. Để giải quyết vấn đề này, có thể kết hợp một số hàm xử lý chuỗi và ký tự của Visual Basic 6.0. Để minh hoạ, tôi giới thiệu một chương trình nhỏ cho phép giao tiếp giữa PC và một hệ vi điều khiển (VĐK, micro-controller) họ 89C51. PC sẽ lần lượt truyền từng byte mã nhị phân của chương trình dùng để điều khiển hệ VĐK (đã được biên dịch) sang hệ VĐK và thu nhận lại chúng. Sau khi kết thúc truyền file, PC sẽ phát một xung trên đường RTS để RESET hệ VĐK. Lưu ý: cần thiết lập tốc độ và khuôn dạng khung dữ liệu phù hợp. (Trường hợp cụ thể với chương trình này: tốc độ baud 2400; 1 start bit; 8 bit data; 1 stop bit; không có bit parity). Tạo một Form đơn giản chỉ gồm hai nút nhấn CmdTruyenfile và CmdExit. Trên Form bắt buộc phải đặt một đối tượng điều khiển MsComm1. Dưới đây là mã nguồn. Option Explicit Dim ByteNumber, STRLength As Long Dim FileData As Byte Dim FileNumber, i As Integer Dim STRReceive, FileName, Buffer As String Private Sub Form_Load() MSComm1.CommPort = 2 ‘ Chọn cổng COM. MSComm1.Settings = “2400,N,8,1” ‘ Đặt các thông số cổng COM. MSComm1.PortOpen = True End Sub Private Sub CmdTruyenfile_Click() ‘Gán đường dẫn và tên file cho ‘biến FileName. FileName = “C:\ThuVien\Hienso.bin” FileNumber = FreeFile Open FileName For Binary Access Read As #FileNumber ‘Trình tự phát từng byte mã chương trình. For ByteNumber = 1 To LOF(FileNumber) Get #FileNumber, ByteNumber, FileData MSComm1.Output = Chr$(FileData) ‘Trình tự thu từng byte mã chương trình. Do DoEvents Loop Until MSComm1.InBufferCount >= 1 STRReceive = MSComm1.Input STRLength = Len(STRReceive) For i = 1 To STRLength Buffer = Mid(STRReceive, i, 1) ‘ Có thể xử lý byte vừa thu được ‘ Next i Next ByteNumber Close FileNumber ‘Phát một xung trên đường RTS ‘của cổngCOM 2 để reset hệ VĐK For i = 0 To 3900 Lập trình Visual Basic: Điều khiển phần cứng qua cổng COM http://www.pcworld.com.vn/pcworld/printArticle.asp?atcl_id=5f5e5c 1 of 2 4/27/2014 10:12 AM MSComm1.RTSEnable = True Next For i = 0 To 3900 MSComm1.RTSEnable = False Next ‘Xoá các bộ đệm thu/phát. MSComm1.InBufferCount = 0 MSComm1.OutBufferCount = 0 End Sub Private Sub CmdThoat_Click() End End Sub MsComm còn cho phép sử dụng các đặc tính của sự kiện OnComm để bẫy các sự kiện và lỗi truyền thông. Thực tế cho thấy trong những trường hợp đối tượng điều khiển không quá phức tạp, sử dụng kỹ thuật này có thể gây dừng quá trình ngoài ý muốn. Bạn cũng có thể tham khảo bộ MSDN, \MSDN\2001OCT\1033\vb98 .chm::/html/vbproVBTermVBTermvbp .htm, để tìm hiểu thêm về vấn đề này. Bạn có thể cải tiến và phát triển chương trình để phục vụ các mục đích điều khiển khác nhau. Tôi rất vui lòng trao đổi thêm thông tin với những ai cùng quan tâm. ThS. Lương Xuân Cương luongxuancuong@goithu.com Khoa Kỹ Thuật Cơ Sở Trường Sỹ Quan CHKT Thông Tin Đồng Đế, Nha Trang, Khánh Hòa [In trang] [Đóng trang] © Tạp chí Thế Giới Vi Tính - PC World VN. CQ chủ quản: Sở Khoa Học và Công Nghệ TP.HCM Giấy phép số 196/GP-BVHTT do Bộ Văn Hóa Thông Tin cấp ngày 27-06-2003 Tòa soạn: 126 Nguyễn Thị Minh Khai, Q.3 TP.HCM - ĐT: 84.8.39304324 - FAX: 84.8.39304338 Bản quyền của Thế Giới Vi Tính - PC World VN Lập trình Visual Basic: Điều khiển phần cứng qua cổng COM http://www.pcworld.com.vn/pcworld/printArticle.asp?atcl_id=5f5e5c 2 of 2 4/27/2014 10:12 AM . Lập trình Visual Basic: Điều khiển phần cứng qua cổng COM Bài toán lập trình điều khiển phần cứng qua cổng COM của máy tính (PC) luôn được nhiều người quan tâm. Bài viết này. FileNumber ‘Phát một xung trên đường RTS ‘của cổngCOM 2 để reset hệ VĐK For i = 0 To 3900 Lập trình Visual Basic: Điều khiển phần cứng qua cổng COM http://www.pcworld .com. vn/pcworld/printArticle.asp?atcl_id=5f5e5c. 84.8.39304338 Bản quyền của Thế Giới Vi Tính - PC World VN Lập trình Visual Basic: Điều khiển phần cứng qua cổng COM http://www.pcworld .com. vn/pcworld/printArticle.asp?atcl_id=5f5e5c 2 of 2 4/27/2014

Ngày đăng: 10/05/2014, 11:18

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan