用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

利用VB实现PC机与多单片机通讯

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:27:38
merSend.Enabled=False

Select Case command

Case 1]

Call发送单片机命令过程(任务1)

TimerReceive.Enabled=False'启动自动接收

Case2

Call发送单片机命令过程(任务2)

MSComm1.Rthreshold=0'关闭自动接收

TimerReceive.Interval=500

TimerReceive.Enabled=True'启动定时器接收机号=1

Case 3

Call发送单片机命令过程(任务3)

MSComm1.Rthreshold=0'关闭自动接收

TimerReceive.lnterval=500

TimerReceive.Enabled=True'启动定时器接收

机号=2

Case 4

Case n

End Select

End.Sub

'接收数据主控程序

Private Sub TimerReceive_Timer()

TimerReceive.Enabled=False

Select Case机号

Case 1

In_buffer$=接收数据(机号)

Call任务2

Case 2

In_buffer$=接收数据(机号)

Call任务3

Case 3

Case n

In_buffer$=接收数据(机号)

Call任务n

End Select

End Sub

4.自动接收、监视总线状态和通讯错误的处理

自动接收、监视总线状态和通讯错误的处理可以通过OnComm事件实现。VB程序运行过程中只要设置MSComm1.Rthreshold=1,在接收事件发生时程序就会自动访问MSComm1.OnComm()过程。

由于外界干扰或电压波动等原因,PC机和单片机之间的通讯可能会出现错误,如接收缓冲区溢出、网络端口超速等。这些可能发生的事件都能在代码中引起运行错误。为了处理这些错误,须要将错误处理代码添加到程序中。通过控件中的OnComm事件可以捕捉和处理错误。在通讯过程中所发生的通讯错误是CommEvent属性返回的。当CommEvent属性值发生改变时,表明有通讯错误,就会产生OnComm事件。同时,可以利用自动引发OnComm事件的特点在接收过程中加入状态显示码。这样可以监视通讯线路状态,得到单片机和主机及单片机和单片机之间的通讯进程。通讯错误的处理程序如下:

Private Sub MSComm1_OnComm()

Select Case MSComm1.CommEvent

Case ComReceive 'Receive data '自动数据接收、监视总线通信信息

Select Case In_buffer $

Call A

Label.Enabled=“正在执行任务1”

Call B

End Select

Case comFrame 'Framing Error '通讯错误处理

X=MsgBox(“Framing Error!”,16)

…'错误处理

Case comEventOverrun '数据丢失

X=MsgBox(“数据丢失!”,16)

…'错误处理

End Select

End Sub




上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:5,609.37500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号