欢迎来到天天文库
浏览记录
ID:37100972
大小:50.50 KB
页数:9页
时间:2019-05-17
《VB和51单片机串口通信讲解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、专业资料VB和51单片机串口通信讲解Commport;设置或返回串口号。SettingS:以字符串的形式设置或返回串口通信参数。Portopen:设置或返回串口状态。InputMode:设置或返回接收数据的类型。Inputlen:设置或返回一次从接收缓冲区中读取字节数。InBufferSize:设置或返回接收缓冲区的大小,缺省值为l024字节。InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。OutBufferS
2、ize:设置或返回发送缓冲区的大小,缺省值为512字节。OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。设置好这些属性和方法,程序很容易就可以编出来了,其中要注意的是串口的波特串设置,OnComm事件的程序编写。 程序的设计是这样的,计算机向单片机发送一个’S’,表示通信开始。然后紧接着又发送9个字符,其中最后一个字符是前面9个字符(包括’S’)的校验和。单片机正确接收到10个字符后,把10个字符从新又送回来。//--
3、-------------------------------------初始化串口设计----------------------------- PrivateSubForm_Load()Comm1.Setting="9600,n,8,1," ’设置波特率和发送字符格式Comm1.CommPort=1 ’设置通讯串口Comm1.InputLen=0 ’设置或返回一次从接收缓冲区中读取字节数,0表示一次读取所有数据Comm1.InBuffersize=512Comm1.InBufferCou
4、nt=0Comm1.OutBufferCount=0Comm1.Rthreshold=1Comm1.PortOpen=TrueEndSub ’打开串口//--------------------------------------给单片机发送’S’,开始通信----------------------------- PrivateSubCommand1_C1ick()Timer1.Enabled=TrueEndSubPrivateSubCommand2_C1ick()Varbuffet=
5、“S” Comm1.Ouput=varbuffeTimer2.Enabled=TrueEndSubPrivateSubForm_Unload(CancelAsInteger)Comm1.PortOpen=FalseEndSub//---------------------------------------向单片机发送数据----------------------------- word完美格式专业资料PrivateSubTimer2_Timer()Outputsignal=Str(Te
6、xt2.text) ’向单片机发送数据Temp(1)=Cbyte(outputsignal)Varbuffer=tempComml.Output=varbufferTimer2.Enabled=FalseEndSub//---------------------------------------接收单片机发送的数据,并显示----------------------------- PrivateSubComm1_OnComm()SelectCaseComm1.CommEvent
7、 ’设置oncomm事件,读取片机内存的值CasecomEvReceiveInputsignal=comm1.InputText1.Text=Asc(Inputsignal) ’单片机内存的值用textbox显示出CaseElseEndselectEndSub关于MSCOMM控件的一些说明 VB5.0/6.的MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备(如Modem).还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种
8、错误和事件,从而可以用它创建全双工、事件驱动的、高效实用的通信程序。但在实际通信软件设计过程中,MSComm控件并非像想像中那样完美和容易控制.特别是在中文Wln95/98下通信时更会出现问题。下面就从基础开始介绍,然后逐步讨沦MSComm控件在编程中出现的问题以及编程技巧。一、用MSComm控件通信1.串口通信基础知识 一般悦来,计算机都有一个或多个
此文档下载收益归作者所有