上位机快速开发教程

所需积分/C币:39 2015-11-14 00:17:21 1.3MB PDF
收藏 收藏 2
举报

一台装有 VS2010 的计算机, 用于测试的虚拟串口软件。 同时你必须具有 VB 基础知识, 这个 VB 上位机开发是入门级的,仅将 VB.NET 通信基础方法稍作介绍。
HUBEI UNIVERSITY OF ARTS AND SCIENCE 准备工作 台装有VS2010的计算机,用于测试的虚拟串∏软件。同时你必须具有VB基础知识 这个VB上位机开发是入门级的,仅将VB.NET通信基础方法稍作介绍。 二、串口通信常识 在串口通信中,通过编写单片机程序知道,我们应对如下参数进行设置:波特率、数据 位和停止位、奇偶校验位。如果自己编写上位机的时候,我们考虑的不能仅仅是这些了,下 面介绍上位机开发过程中需要特别注意的知识点。 MSComm控件提供了两种处理通信的方式:一种为事件驱动方式,该方式相当于一般程 序设计中的中断方式。当串口发生事件或错误时, MSComm控件会产生0nCom事件,用户程 序可以捕获该事件进行相应处理。 常用属性和方法 利用MsCoπm控件实现计算杋運信的关键是坦解并正桷设置 MSComm控件众多属性和方 法。以下是 MSComm控件的常用属性和方法 ● Commport:设置或返回串口号。其值从coM到0OM16。 ● Settings:以字符串的形式设置或返回串口通信参数。 ● Por open:设置或返回串囗状态。 ● inpuTmode:设置或返回接收数据的类型。有文本和二进制两种类型 ● Input len;设置或返回一次从接收缓冲区中读取字节数。 ● nBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。 ● NbUffer Count:设置或返回接收缓冲区中等待计算机接收的字符数。 ●Inut:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。 ● OutBuffer size:设置或返回发送缓冲区的大小,缺省值为512字节。 ● OutBuffer Count:设置或返回发送缓冲区中等待计算机发送的字符数。 ● Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。 ● Thresholdε该属性为一阀值。当接收缓冲区中字符数达到该值时, MSComm控件设置 Commevent属性为 ComEv Recei ve,并产生0nCom事件。用户可在0nCom事件处理程序中进 行相应处理。若 Rthr esho d属性设置为0,则不产生onom事件。例如用户希望接收缓冲 区中达到一个字符就接收一个字符,可将 Threshold设置为1。这样接收缓冲区中接收到 个字符,就产生一次0nCom事件。 ● Threshold;该属性亦为一阀值。当发送缓冲区中字符数小于该值时, MSComm控件设 置 Commevent属性为 ComEvSend,并产生0nCom事件。若 Threshold属性设置为0,则不 产生0ncom事件。要特别注意的是仅当发送缓冲区中字符数小于该值的瞬间才产生0 nComm 事件,其后就不再产生 On Gomm事件。例如 Sthresho|d设置为3,仅当发送缓冲区中字符数 从3降为2时, MSComm控件设置 Commevent属性为 ComEy Send,同时产生0 Incomm事件,如 发送缓冲区中字符始终为2,则不会再产生0nCom事件。这就避免了发送缓冲区中数据未 发送完就反复发生0 nComm事件。 ● Comm Event这是一个非常重要的属性。该属性设计时无效,运行时只读。一旦串口发 生通信事件或产生错误,依据产生的事件和错误, MSComm控件为 CommEvent属性赋不同的 代码,同时产生ωnCm事件。用户程序就可在0nCom事件处理程序中针对不同的代码,进 行相应的处理。 HUBEI UNIVERSITY OF ARTS AND SCIENCE 三、开发步骤(仅供参考) 1.运行V2010,新建一个 Visua bas ic的 Windows窗体应用程序项目。将窗体的 StartPosition属性改为 Center Screen,运行程序时,窗体在屏幕中央显示。 Microsoft Silverlight3sIK-中文体)卜 E Microsoft SQL Server 2008 Microsoft Sync Framework Mi crosoft visual studio 2010 Mi crosoft WindONs SDK Tool 画 Mi ft vise1Bsig6.0中文版 Team Foundation server Tools Microsoft visual sourcesafe i Visual Studio Tools M Microsoft Web Publishing Microsoft visual studio 2010 CIBurmeryP Mi crosoft isual Studio2010文档 Etima so Mi croso£t谀试管理器z010 酷狗音乐2012 起始页- 文件〕编辑匪)视图调试①团队_)数据 白新建项目¢ Ctrl+N ◆新建网站 hi ftaT+H 新建团队项目Y)〕 新建文件 打开项目c 当打开网站〕 hi fttAltto 连接到团队项目) 打开文件 关闭 关闭项目 保存选定项 Ctrl+s 将选定项另存为〔A 全部保存 Ctrl+Shift+s 导出模板 源代码管理 山页面设置① 当打印c Ctrl+P 最近的文件 最近使用的项目和解决方案〔 退出 A1t十F4 HUBEI UNIVERSITY OF ARTS AND SCIENCE 最近的嘏板 hET Fr ecrl 4 v排序据默认值 搜已安的模板 已安装的识板 窗体应用程序 型: 用于创建具有 Wirudoys用户界面的应用程 YF应用程序 类厍 ovErlight Wiu Bilic Workflow ndc= 田其也语言 其也项目类型 YF用户控件库 建漠项目 vW目定义控件厍 visual bssic 测试项目 空项目 联机板 窗休控伴序 WiEu Essig 名称① r单L位机 简单上位机- croeoft yagual studio 文件亿)瓶辑)现图)项吧)生成①?调①团队)物看工具等系猪构〔)训试)分听①)窗口逍】#助更) 面四图团园弟日屬|=兰c 句日回 工具箱 n×【xm1t[设计]X对象浏完器 「解决案资雅管理器 所行rccw固体 同公共控件 小回图彐我 指针 简单上位机 ab]Bu::on 「 hertel.istfcx 窗体 A lahe A Linklabel 解决案许…团队距管 +c Lis: Box C:- L15:11 sV rn文件属 复制出目不复制 画题图回 v Nuneri cUpDonr Yml 错误列 甲×自定义工具 ③0错误上0个警告①0个消息 复制刭出目录 指定源文件将被复衔到输出目录 2.由于默认情况下,通信所需的“ Microsoft commun i cat ions contr o l, version6.0” 组件不在工具箱里面,所以我们需要手动添加。单击左侧的工具箱,并在控件栏单击鼠 标右键,在弹岀的菜单中选中“选择项”,在弹出的对话框中单击“cQM组件”并选中 Microsoft commun i cat ions Contro l, versi on6.0”,单击确定即可完成添加 HUBEI UNIVERSITY OF ARTS AND SCIENCE 工具箱 早 XForm1.b[设计] +所有Wn 公共控件粘贴贮 Curly 指√列表视图〔 全部显示 选择项江 按字母顺序排序 C 重置工具箱C 添加选项卡 AA 删除选项卡@〕 L: 重命名选项卡〔〕 922L1 29 上移⑩U 下移 选择工具箱项 区 Silver1ight組件 t≌ m Activities组件 mET Framework組芈 工N组件 WR蚶 名称 路径 tA0 Data c如atxo1...C:H0s: sert e32Ⅶ uSDod. Oc Micros。土t真 C: TIMo □ Mi crosoft Animation Cantr o.,C:肛加s:sy=tem32ConC232,Mx。£胃, L Microsoft Chart Contr 31 6.... C: \WIHDOWS s/stem 32 \MSChr t2D... Micr osoft C rosoft Communicat: ns C. C: \WINDOWS 3st em 32\MSConm32.. Microsoft C. crosoft toolbar ontrol,..t. nliunssstemselLomL155Z.. Microsof D Microsoft DataCombo Contro.. C: \WINDOWSsystem32\MSDatLst.. Microsoft D L Microsoft DataGrid Cotrol AWIHDOWS s/stem32\ MSDatGrd.. Microsoft D Microsoft Communi cations Control. version 6.3 SP6) 语言 语言中性 「浏览CB〕 版本 匚确定匚取消匚王置) 此时移动鼠标到窗体上时,鼠标箭头就会变成电话的形状,在窗体任意位置单击放置该控件 F 回区 通信控件感 误列表 30个错误0个警告①0个消息 HUBEI UNIVERSITY OF ARTS AND SCIENCE 3.单击工具箱,在窗体上添加5个 Labe,并在属性里将Text属性依次改为:串口号、波 特率、校验、数据位、停止位。再向窗体上添加5个 Comboσx,从上到下依次排列。 4.向窗体添加一个0va| Shape和一个 Button。将0va| Shape的size属性改为“24,24”, Fil ISt|e改为 Solid。 5.向窗体添加一个 Check Box、一个按钮 Button和一个 TextBox,将 CheckBox的Text属 性改为“十六进制发送”将这个按钮的text属性改为“发送” 6.向窗体添加一个Labe和一个 TextBox。更改 Labe l的Text属性为“接收区”。 7.向窗体添加一个 CheckBox,将其Text属性改为“十六进制显示” 回简单上位机 □回 审口号 接收区 波特率 校验 数据位 停止位 Button □十六进带发送 发送访问我的空间口十六进制显示 界面布局 下面将要对部分控件进行设置,这样可以减少代码的长度 将波特率一栏 ComboBox的Itcm属性中添加如下内容 HUBEI UNIVERSITY OF ARTS AND SCIENCE 字符串集合编辑器 在集合屮输入字符串海行一个) 11 14400 19200 46u80 4800 96 匚确定[取消 将校验一栏 ComboBox的Item属性中添加如下内容 字符丰集合编辑器 在集合中输入字符串行一个) 无校輪 确定匚取消 将数据位一栏 Combobox的Itcm属性巾添加如下内容 字符串集合编器 在集合中输入宁符审每行一个〕〕 定匚取消 将波特率一栏 Combobox的Item属性中添加如下内容 HUBEI UNIVERSITY OF ARTS AND SCIENCE 字符串集合编辑器 在集合中输入字符串〔行一个〕〔 硝确定匚取消一 四、源代码 Public class Form 1 Dim cp setting As String Dim com last num As Integer=0定义一个全局变量,作用为记求上一个串口号 Sub GetSerialPortNamesO"索计算机中所有可用串口函数 On error goto errand错误处理 搜索计算机中可用串口 For Each sp As String In My Computcr Ports. ScrialPortNamcs ComboBoxl. Items. Add(sp) ComboBox l sorted True ComboBox l. SelectedIndex=0·选择搜索到的第一个串口名称 Exit Sub eRRAND:表示未搜到串口 Msg Box("Oh, NO! " End sub 检测串口是否可用函数 Private Function Test COM(ByVal com num As Integer)As boolean If com num<> com last num or l3 utton l.Iext="打开端口"Then'如果选择的端口跟上次 样就不检测了 On Error goto comm error AxMSComml. Comm Port= com num将新串口号赋给 Comport AXMSComml. PortOpen=True'打开串口 AxMSCommI. PortOpcn= Falsc'关闭串口 Test CoM- True 串口可用则返回 Exit Fur HUBEI UNIVERSITY OF ARTS AND SCIENCE Comm error:‘棖据错误号作出相应处理 If er number= 8002 Then MsgBox("串口错误,请重新选择串口", vboKOnly,"错误提示!") Elself err number =8005 Then Msg Box("串口已打开!" Else MsgBox("其它错误") End If Test CoM= False 如果出错,则返回0 Exit Function Resume Next End If End function M Private Sub Forml_Load(By Val sender As System Object, ByVal e As System. EventArgs)Handles MyBase Load 载入窗体初始化 GctScrialPortNamcso将瘦到的串口在下拉菜单中显示出来 AxMSComm1. In Buffer Size-1024接收缓冲区大小,此项无法在串口打时进行设置 AxMSComm1. Out Buffer Size=1024发送缓冲区大小 ComboboxText=9600" ComboBox3.Text="无校验” ComboBoxText -8 ComboboxText =1 Change PortPropertyo 设置接收数据的格式为二进制 AxMSComml. InputMode- MSCommLib InputMode Constants. comInputModeBinar AXMSComm1. InputLen=0设置从缓冲区读取仝部数据 AxMSComn1. R Threshold=1'设置接收串口 Oncommon事件 AxMSComm1, PortOpen=True'打开串口 If AxMSComm1 PortOpen- True The OvalShapel. FillColor= Color Green 'OvalShape颜色设为绿色 Button 1.Text="关闭端口”"按钮上的文字昱示为关闭端口 E OvalShapel. FillColor- Color. Red 'OvalShape色设为红色 Button1.Text="打开端口”按钮上的文字显示为打开端口 End if End sub 打开关闭串口代码 Private Sub Button Click (By Val sender As System Object, ByVal e As System. EventArgs) Handles Button, click Dim ptNum as integer 通过串口名称获取串口号 f Len( ComboBox SelectedItem)> 4 Then

...展开详情
试读 13P 上位机快速开发教程
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    上位机快速开发教程 39积分/C币 立即下载
    1/13
    上位机快速开发教程第1页
    上位机快速开发教程第2页
    上位机快速开发教程第3页
    上位机快速开发教程第4页

    试读已结束,剩余9页未读...

    39积分/C币 立即下载 >