VB和51单片机串口通信讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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,"’设置波特率和发送字符格式
mPort=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
End Sub
//---------------------------------------向单片机发送数据-----------------------------
Private Sub Timer2_ Timer()
Outputsignal=Str(Text2.text)’向单片机发送数据
Temp(1)=Cbyte(outputsignal)
Varbuffer=temp
Comml.Output=varbuffer
Timer2.Enabled=False
End Sub
//---------------------------------------接收单片机发送的数据,并显示-----------------------------
Private Sub Comm1_OnComm()
Select Case mEvent’设置oncomm事件,读取片机存的值
Case comEvReceive
Inputsignal=comm1.Input
Text1.Text=Asc(Inputsignal)’单片机存的值用textbox显示出
Case Else
End select
End Sub
关于MSCOMM控件的一些说明
VB5.0/6.的MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备(如Modem).
还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以用它创建全双工、事件驱
动的、高效实用的通信程序。但在实际通信软件设计过程中,MSComm控件并非像想像中那样完美和容易控制.特别是在中文Wln
95/98下通信时更会出现问题。下面就从基础开始介绍,然后逐步讨沦MSComm控件在编程中出现的问题以及编程技巧。
一、用MSComm控件通信
1.串口通信基础知识
一般悦来,计算机都有一个或多个串行端口,它们依次为com1、Com2、…,这些串口还提供了外部设备与pC进行数据传输和
皿信的通道。这些串口在CPU和外设之间充当解释器的角色。当字符数据从CPU发送给外设时,这些字符数据将被转换成串行比特
流数据;当接收数据时,比特流数据被转换为字符数据传递给CPU,再进一步说,在操作系统方面,Windows用通信驱动程序
(COMM.DRV)调用API函数发送和接收数据,当用通信控件或声明调用API函数时,它门由COMM. DRV解释并传递给设备驱动程序,
作为一个vB程序员,要编写通信程序.只需知道通信控件提供给Windows通信AP1函数的接口即可.换句话说,只需设定和监视通
信控件的属性和事件即可。
2.使用Mscomm控件
在开始使用MSComm控件之前。需要先了解其属性、事件或错误
属性描述