4.4 visual basic中用于串口通讯的程序代码
(1) 在form1的代码的公共部分定义变量:
dim rcvlenth as integer
定义接收数据长度的整形变量
dim rcv() as byte
定义接收数据的动态数组
dim send(50) as byte
定义发送数据的动态数组
(2) 在form1——load的代码中对mscomm1控件进行设置:
private sub form_load()
rcvlenth=0
mscomm1.commport=1 指定计算机通讯的端口号
mscomm1.settings = "9600,n,8,1" 设置通讯波特率及校验方式
mscomm1.inputmode= cominputmodebinary
mscomm1.rthreshold=1
mscomm1.inputlen=0
mscomm1.outbuffercount=0
if not mscomm1.portopen then mscomm1.portopen = true
end sub
(3) 在mscomm1的oncomm()事件中加入以下代码,用于接收数据:
private sub mscomm1_on-comm()
dim i as intger
dim rcvtemp() as byte
redim preserve rcv (mscom-m1.inbuffercount) as byte
select case mscomm1.com-mevent
case comevreceive
rcvtemp=mscomm1.input
for i=lbound(rcvtemp) to ubound(rcvtemp)
rcvlenth=rcvlenth + 1
rcv(rcvlenth)=rcvtemp(i)
next i
end select
end sub
(4) 在timer1_timer()事件中加入如下代码用于定时的发送数据:
private sub timer1_timer()
dim i as intger
for i=1 to 50
mscomm1.output = send(i)
next i
end sub
(5) 程序界面如图6所示。