Ð t c ng com du c s d ng: Object. ComPort [= Value] Value = 1 d n 16, m c d nh là 1 khi kh i d ng VB.
Tính ch t này ph i du c d t tru c khi m c ng, n u bi u th c trong ngo c không có thì tr v s c ng Com dang ho t d ng.
Hình 3.5
Ð t c u hình c ng
Object.settings [= value] Value = ”BBBB, P, D, S”
Giá tr m c d nh là “9600, N, 8, 1”. Trong tru ng h p d t sai thì giá tr báo l i. Các giá tr cho phép:
Baud rate: 110, 300, 2400, 9600 (defalut), 14400, 19200, 28800, 38400, 56000, 128000, 256000.
Parity bit: E (Even), M (Mark), N (Default), O (Odd), S (Space) Data bit: 4, 5, 6, 7, 8 (default)
Stop bit: 1, 1.5, 2 Ví d : MSComm2. Settings = “9600, N, 8, 1” M c ng Object.Portopen [= true/false] Value = true: m c ng.
Value = false: dóng c ng khi k t thúc chuong trình ng d ng.
- 30 - String$=Object.Input
D li u chu i b d m thu du c d c vào bi n String$. Có các l nh sau: Object.Inputlen [= numbyte%]
Inputlen: Quy d nh s ký t d c. Ch n inputlen = 0 d c toàn b vùng d m. Object.InbufferSize [= numbyte%]
Inbuffersize d t và tr v kích thu c theo byte c a b d m thu, m c d nh 1024 Object.Inbuffercount [= count%]
Inbuffercount: cho bi t s ký hi u có trong b d m nh n. Xóa b d m b ng cách cho inbuffercount = 0
Object.Inputmode [= value]
Inputmode: cho bi t lo i d li u là van b n hay nh phân. Value = 0: Cominputmodetext
Value = 1: Cominputmodebinary Ví d :
Dim Buffer as Vriant Dim Arr() as Byte
MSComm1.Commport=1 MSComm1.PortOpen = True MSComm1.InputMode=comInputModeBinary Do Until MSComm1.Inbuffercount<10 DoEvents Loop Buffer = MSComm1.Input Arr=Buffer Xu t d li u Object.output [= value]
Xu t chu i ký t hay chu i nh phân ra c ng COM. Gi ng nhu nh p d li u ta có các l nh h tr :
Outbuffersize: d t và tr l i kích thu c b d m truy n
Outbuffercount: tr l i s ký t trong b d m truy n
- 31 -
Private Sub Form_KeyPress (KeyAscii As Integer) Dim Buffer as Variant
MSComm1.ComPort = 1 MSComm1.PortOpen = True Buffer = Chr$(KeyAscii) MSComm1.Output = Buffer End Sub Ví d : ‘Send a string’
MSComm1.Output = “This is a text string” ‘Send a binary’
Dim Out() As Byte MSComm1.Output = Out
G i tín hi u Brake
Object.Break [= true/false]
Ð c tín hi u DCD
inCD = Object.CDHolding
N u inCD = true thì DCD m c cao, ngu c l i DCD m c th p.
Ð t th i gian ch sóng mang
Object.CDtimeout [= milliseconds]
Ch kho ng th i gian cho DCD m c cao, n u h t th i gian mà Cdholding =
false thì t o s ki n OnComm CDTO (Carrier detct timeout error).
Ð c CTS
Object.CTSHolding True: m c 1
False: m c 0
Ð t th i gian ch CTS
Khi DTE g i RTS thì modem ph i g i l i CTS. CTStimeout d nh th i gian ch , n u quá th i gian dó mà không có CTS thì t o s ki n CTSTO.
Ð c DSR
Object.DSRHolding
- 32 - Object.DSRTimeout
Ði u khi n DTR
Object.DTREnable [= true/false]
True: DTR m c 1 khi m c ng và m c 0 khi dóng c ng, False: DTR m c 0
Ði u khi n RTS
Object.RTSEnable [=true/false]
True: RTS s m c 1 khi m c ng và m c 0 khi dóng c ng
Sthreshold
Ð t s byte có trong b d m truy n d báo s ki n. Sthreshold = 1: g i Oncomm khi b d m truy n r ng. Sthreshold = 0: không g i
Ð t s byte c a b d m thu t i thi u d báo s ki n
Object.Rthreshold [= value]
N u d t = 1: g i Onncom khi nh n du c 1 ký t N u d t = 0 thì không g i
Giao th c b t tay
OBJECT.Handshacking [value] Value = 0: không b t tay
Value = 1: b t tay theo RTS/CTS Value = 2: b t tay theo XON/XOFF Value = 3: b t tay theo RTS/XON/XOFF Ví d :
Private Sub Frm_Load() Dim Buffer$ as String MSComm1.Comport = 1 MSComm1.Settings = “9600, N, 8, 1” MSComm1.Inputlen = 0 MSComm1.PortOpen = True MSComm1.Output = “ATVQ0”&Chr$(13) Do DoEvents
- 33 - Buffer$=Buffer$ & MSComm1.Input
Loop Until InStr (Buffer$, “OK” & VbCrLf) MSComm1.PortOpen=False
- 34 -
Chuong 4
THI T K H ÐI U KHI N
4.1. H TH NG ÐI U KHI N S4.1.1. Ð c tính h th ng di u khi n s