PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 18-12-2009, 01:44 PM   #11
npbaoduy
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
:
Theo mình có 2 cách:
- Cách 1: Đặt bộ đệm Mscomm1.RThreshold = 2, có nghĩa là sau khi nhận được 2byte mới xảy ra ngắt oncomm, khi đó ta đọc 2 byte này, kiểm tra byte đầu, và giá trị là byte sau.
Có thể đọc 2 byte bằng cách sau:
Code:
Privat Sub MSComm1_onComm()
Dim buffer             'kiểu varriant
Dim Arr() as byte    ' mảng động
If MSComm1.CommEvent = comEvReiceive then
     buffer=MSComm1.Input
     Arr = buffer
     If (Arr(0)="@")then
....................
End Sub
- Cách 2: để bộ đệm 1 byte bình thường, khi ngắt oncomm nếu đó là byte báo hiệu thì đặt giá trị cho một biến toàn cục nào đó, lần ngắt oncomm sau kiểm tra biến này rồi xử lý, cách này khá dở , nhưng trong tình huống nào đó mà cách 1 ko thể sử dụng (ví dụ như vi xử lý truyền lên nhiều thứ chứ ko phải chỉ 2byte) thì sẽ rất hữu ích.

thay đổi nội dung bởi: npbaoduy, 18-12-2009 lúc 01:52 PM.
npbaoduy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 01:27 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam