上位机通信vb.net 上位机通信模块

VB.NET做上位机 serialport控件问题

要用委托的形式(界面上拖一个txt_Rect文本框)

创新互联建站专业为企业提供江永网站建设、江永做网站、江永网站设计、江永网站制作等企业网站建设、网页设计与制作、江永企业网站模板建站服务,十多年江永做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

Delegate Sub SetTextCallback(ByVal InputString As String)

Private Sub ShowString(ByVal comData As String)

txt_Rect.Text += comData   '将收到的数据入接收文字框中

txt_Rect.SelectionStart = txt_Rect.Text.Length

txt_Rect.ScrollToCaret()

End Sub

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

Dim inData As String = SerialPort1.ReadExisting

Dim d As New SetTextCallback(AddressOf ShowString)

BeginInvoke(d, inData)

End Sub

现在在开发一个上位机应用程序,使用vs2008中的vb.net开发基于wince的应用程序,实现对串口采集过来的数据

这是我配置vs2005的模拟器,你参考一下吧。

1. 在VS2005里新建项目中时,选择创建Platform builder for CE 6.0的OS Design,新项目可以自

命名,这里命名为“MyEmulator”。

2. 创建MyEmulator的向导中,BSP一定要选择“Device Emulator: ARMV4I”,下一步;

3. 模板(Design Templates)选择“PDA Device”,下一步;

4. 选择“Mobile Handheld”,下一步;

5. 应用程序(Application Media)就随自己的需要选择,下一步;

6. 网络和通信(Networking Communications)在此只选择“Local Area Network(LAN)”,下一步;

7. 选择完成;

8. 选择Acknowledge;

到此工程建完;

四.添加组件(可以根据需要添加,这里主要添加汉字相关的组件)

(1) 添加汉字字库(这里要记得加入,很多人这里没有加入,就出现汉字只看到方框的现象):

1. 在Catalog View添加“Core OS”--“CEBASE”--“International”--“Locale Specific support”--“Chinese (Simplified)”--“Fonts”--“SimSun NSimSum(choose 1)”--“SimSun NSimSun”或者“SimSum NSimSun (Subset 2_50)”;

2. 在Catalog View添加“Core OS”--“CEBASE”--“International”--“Locale Specific support”--“Chinese (Simplified)”--“GB18030 Data Vonverter”和“Monotype Imaging AC3 Font Compression”;

(2)添加中文输入法:

在Catalog View添加“Core OS”--“CEBASE”--“International”--“Locale Specific support”--“Chinese (Simplified)”--“Input Method Editor”--“MSPY 3.0 for Windows Embedded CE”;

(3) VS2005中菜单“项目”--“MyEmulator(项目名)属性”,配置选择“所有配置”,配置属性--“Build Options”,在“Build Options”中去掉“Enable KITL (no IMGNOKITL=1)” (这里如果加入了KITL功能的话,可能在模拟器运行的时候,会一直是黑屏的);

(4) “Locale”中,Locales先Clear All,然后选择“中文(中国)”,Default local选择“中文(中国)”;

(5) 运行VS2005菜单“生成”--“生成MyEmulator”;

五.构建SDK:

1. 运行VS2005菜单“项目”--“Add New SDK…”,在SDK属性页中填写必要的信息,属性“Emulation”中Configuration 选择Debug,可以设置模拟器的显示屏大小及色深,还有内存大小,在此设置为240 x 320,16色深,128M内存,然后“应用”,“确定”。。

2. 然后运行VS2005菜单“生成”--“Build All SDK…”,顺利的话,就会在%WINCEROOT\OSDesigns\ \MyEmulator\MyEmulator\SDKs\SDK1\MSI\下会有MyEmulator.msi;

六.配置VS2005:

1、先安装生成好的MyEmulator.msi。运行Visual Studio 2005,选择菜单“工具->选项”,打开选项设置对话框,从左边的树型列表中选择“设备工具->设备”,右边的下拉列表框拉到底可以看到 “MyEmulator”,这就是刚刚生成的那个模拟器。下面的设备列表里有两项,双击MyEmulator,设定传输为DMA传输,再点击“仿真器选 项”,在“显示”选项卡里设定好模拟器屏幕尺寸,颜色深度等,全部保存。

2、用VS2005新建一个智能设备项目,向导选择平台时,先删除Pocket PC 2003,选择MyEmulator,完成。然后按F5运行程序,顺利的话定制的模拟器就会出来了(不过这个过程比较慢,需要等待一段时间)。

请教关于VB.NET DOEVENTS的问题!

Do

System.Windows.Forms.Application.DoEvents()

Loop Until AxMSComm1.InBufferCount 0

死循环。

用VB做程序做上位机与下位机通信协议

mscomm1.inputmode

=

cominputmodebinary

mscomm1.settings="9600,n,8,1"

mscomm1.commport=1

mscomm1.portopen=true

以上打开串口

dim

senddata()

as

byte

mscomm1.output=senddata

发送数据了

协议是你自已选或是自己决定的

比如说modbus

redim

senddata(7)共8字节指令

senddata(0)=下位机地址

senddata(1)=功能码

...

..

.senddata(7)=crc校验低8位

mscomm1.output=senddata

发送

VB.NET中如何处理串口通信接收的数据?

你可以预先约定一个截止附,读取的字节统统放到缓存区里,直到读到截止附再处理、显示。

VB.NET使用AxMSComm实现串口通信的发送读取问题?

上面的代码看不出问题,如果初始化串口控件时已经注册了AxMSComm1_OnComm,有数据接收应该能触发,至于为什么没有触发,要看看你的接收方是否已经收到你的发出指令,是否已经有响应数据回发。

建议分开调试,用一个通用的串口助手,如格西烽火串口助手之类的,分别调试你的上位机和下位机。格西烽火串口助手能轻松的定制如你上面的发送数据。


网站名称:上位机通信vb.net 上位机通信模块
链接分享:http://scyanting.com/article/hgjgeg.html