完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
在上一部分中单片机程序,单片机将采集到的温度数据处理后,通过串行口发送出去,这一节专门讲解如何用VB6.0(企业版)调用MSComm控件接收数据、处理数据和显示数据。
第一步,打开VB软件,如下图所示。在新建工程对话框中选择[标准EXE习项]单击[打开习按钮] 接着出现如下图所示界面。 第二步, 单击 [工程一部件]菜单项, 打开[部件]对话框,弹出对话框如下图所示。 选择 [Microsotf Comm Control 6.0]控件列表项, 单击[确定]按钮, 如下图所示。 然后可以看到在工具箱中增加了一个像电话的图标, 如下图箭头所指处, 这就是VB串行口通信所用的标准控件 ( MSComm )。 第三步, 单击[MSComm]控件, 并在窗体 Forml上拖出一个矩形,如下图所示,这时 MSComm控件就被添加到工程中了。 第四步, 一个矩形框,单击 [TextBox] 控件, 如下图左箭头所指处, 同上步骤在窗体 Forml 上拖出如下图右所示。 第五步, 双击[TextBox]控件或窗体无控件的空白处, 会打开代码编辑框, 如下图所示。 第六步, 在 Private Sub Form_load()函数中增加如下代码: Private Sub Form_Load() Text1(0).Enabled = False Text2.Enabled = False Text3.Enabled = False Text2.Text = "单片机与PC端通信" & vbCrLf & "QQ:1371129880 " & vbCrLf & "博客:https://blog.csdn.net/qq_38351824" MSComm1.Settings = "9600,n,8,1" '波特率 9600bit/s 无校验 8位数据 1位停止位 MSComm1.CommPort = 5 '设定串口为1com,这里大家需要改为自己对应的com序号 MSComm1.InBufferSize = 8 '设置返回接收缓冲区的大小,以字符为单位 MSComm1.OutBufferSize = 2 If MSComm1.PortOpen = True Then MSComm1.PortOpen = False '关串口 MSComm1.RThreshold = 4 '设置并返回产生oncomm事件的字符数,以字符为单位 'RThreshold 为1,接收缓冲区收到每一个字符都会使MSComm控件产生oncomm事件 MSComm1.SThreshold = 1 MSComm1.InputLen = 0 '设置从接收缓冲区读取的字数,为0读取整个缓冲区 MSComm1.InputMode = comInputModeText '文本形式接收 If MSComm1.PortOpen = False Then MSComm1.PortOpen = True MSComm1.InBufferCount = 0 '清空缓冲区 Me.Caption = "温度" Text1(0).Text = "00.0" End Sub 添加完的编辑框如下中上半部分所示。 第七步, 双击窗体内的 [ MSComm]控件, 向 [ Private Sub MSComml_OnComm()]函数中添加接收数据代码,添 加完成后的编辑框如下图的下半部分所示。 Private Sub MSComm1_OnComm() Dim rec As String Select Case MSComm1.CommEvent Case comEvReceive rec = MSComm1.Input Text1(0).Text = rec MSComm1.InBufferCount = 0 '清空缓冲区 End Select End Sub 第八步, 单击上按钮或直接按 [ F5]键运行程序。用串行口线连接 实验板和计算机, 即可在文本框中显示出当前环境温度值, 如下图所示。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:05 , Processed in 1.305248 second(s), Total 82, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号