VB 和 51 单片机串口通信讲解
Commport;设置或返回串口号。
SettingS:以字符串的形式设置或返回串口通信参数。
Portopen:设置或返回串口状态。
InputMode:设置或返回接收数据的类型。
Inputlen:设置或返回一次从接收缓冲区中读取字节数。
InBufferSize:设置或返回接收缓冲区的大小,缺省值为 l 024 字节。
InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。
Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。
OutBufferSize:设置或返回发送缓冲区的大小,缺省值为 512 字节。
OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。
Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。
设置好这些属性和方法,程序很容易就可以编出来了,其中要注意的是串口的波特串设置,
OnComm 事件的程序编写。
程序的设计是这样的,计算机向单片机发送一个’S’,表示通信开始。然后紧接着又发送
9 个字符,其中最后一个字符是前面 9 个字符(包括’S’)的校验和。单片机正确接收到
10 个字符后,把 10 个字符从新又送回来。
//--------------------------------------- 初 始 化 串 口 设 计
-----------------------------
Private Sub Form_Load()
Comm1.Setting="9600,n,8,1," ’设置波特率和发送字符格式
Comm1.CommPort=1 ’设置通讯串口
Comm1.InputLen=0 ’设置或返回一次从接收缓冲区中读取字节数,0 表
示一次读取所有数据
Comm1.InBuffersize=512
Comm1.InBufferCount=0
Comm1.OutBufferCount=0
Comm1.Rthreshold=1
Comm1.PortOpen=True
End Sub ’打开串口
//-------------------------------------- 给 单 片 机 发 送 ’S’ , 开 始 通 信
-----------------------------
Private Sub Command1_C1ick()
Timer1.Enabled=True
End Sub
Private Sub Command2_C1ick()
Varbuffet=“S”
Comm1.Ouput=varbuffe
Timer2.Enabled=True
End Sub
Private Sub Form_Unload(Cancel As Integer)
Comm1.PortOpen=False
页脚