VB.NET实现windows应用程序开发串口调试并实时实时保存数据和画图
2014-03-27 21:06
706 查看
自己最近做了一个关于VB.NET开发的串口调试程序,实现了和下位机DSP的通信,并且实现了实时画图功能,DSP把整形数据(占4个byte),左移后通过DMA方式先发高位,接收后用位段方式转化为整型。同时接受两路数据并以streamwrite的形式自动保存到.txt文件中。
Dim bvMaternal As BitVector32
Dim bvFetal As BitVector32
Dim sec1 As BitVector32.Section = BitVector32.CreateSection(255)
Dim sec2 As BitVector32.Section = BitVector32.CreateSection(255, sec1)
Dim sec3 As BitVector32.Section = BitVector32.CreateSection(255, sec2)
Dim sec4 As BitVector32.Section = BitVector32.CreateSection(255, sec3)
画图函数的实现:
Private Sub draw()
'Maternal signal coordinate
Dim mtlY2 As Single
Dim mtlX2 As Single
Dim mtlY1 As Single
Dim mtlX1 As Single
'Fetal signal coordinate
Dim ftlY2 As Single
Dim ftlX2 As Single
Dim ftlY1 As Single
Dim ftlX1 As Single
Dim mypenMaternal As New Pen(Color.Red, 1)
Dim mypenFetal As New Pen(Color.Green, 1)
Dim mygraphMaternal As Graphics
Dim mygraphFetal As Graphics
'Maternal signal drawing setup
mygraphMaternal = Me.picBoxMatenal.CreateGraphics
'X-axis and Y-axis Adjust parameter Get:
Dim XnumericUpDownVal As Integer = NumericUpDownX.Value
Dim YnumericUpDownVal As Integer = NumericUpDownY.Value
'Use FromImage method to creat an graphics object with bitmap
'mygraphMaternal = Graphics.FromImage(m_objDrawingMatSurface)
mygraphMaternal.PageUnit = GraphicsUnit.Point
mygraphMaternal.TranslateTransform(0, picBoxMatenal.Height / 2)
'Fetal signal drawing setup
mygraphFetal = Me.picBoxFetal.CreateGraphics
'Use FromImage method to creat an graphics object with bitmap
'mygraphFetal = Graphics.FromImage(m_objDrawingFetSurface)
mygraphFetal.PageUnit = GraphicsUnit.Point
mygraphFetal.TranslateTransform(0, picBoxFetal.Height)
mtlY2 = DataMaternal(Me.receiveDisplay_count) / YnumericUpDownVal
mtlX2 = Me.receiveDisplay_count / XnumericUpDownVal
mtlY1 = DataMaternal(Me.receiveDisplay_count - 1) / YnumericUpDownVal
mtlX1 = (Me.receiveDisplay_count - 1) / XnumericUpDownVal
'Fetal signal coordinate
ftlY2 = DataFetal(Me.receiveDisplay_count) / YnumericUpDownVal
ftlX2 = Me.receiveDisplay_count / XnumericUpDownVal
ftlY1 = DataFetal(Me.receiveDisplay_count - 1) / YnumericUpDownVal
ftlX1 = (Me.receiveDisplay_count - 1) / XnumericUpDownVal
'Dim MaternalPoints As Point() = {New Point(mtlX1, mtlY1), New Point(mtlX2, mtlY2)}
'Dim FetalPoints As Point() = {New Point(ftlX1, ftlY1), New Point(ftlX2, ftlY2)}
mygraphMaternal.DrawLine(mypenMaternal, mtlX1 + 16, -mtlY1 * 126, mtlX2 + 16, -mtlY2 * 126)
mygraphFetal.DrawLine(mypenFetal, ftlX1 + 16, -ftlY1 * 126, ftlX2 + 16, -ftlY2 * 126)
'mygraphMaternal.DrawCurve(mypenMaternal, MaternalPoints, 1.0F)
'mygraphFetal.DrawCurve(mypenFetal, FetalPoints, 1.0F)
'clean up
mygraphMaternal.Dispose()
mygraphFetal.Dispose()
'Force the form to paint itself, this triggers the Paint event
'Me.picBoxMatenal.Invalidate()
'Me.picBoxFetal.Invalidate()
End Sub
Dim bvMaternal As BitVector32
Dim bvFetal As BitVector32
Dim sec1 As BitVector32.Section = BitVector32.CreateSection(255)
Dim sec2 As BitVector32.Section = BitVector32.CreateSection(255, sec1)
Dim sec3 As BitVector32.Section = BitVector32.CreateSection(255, sec2)
Dim sec4 As BitVector32.Section = BitVector32.CreateSection(255, sec3)
画图函数的实现:
Private Sub draw()
'Maternal signal coordinate
Dim mtlY2 As Single
Dim mtlX2 As Single
Dim mtlY1 As Single
Dim mtlX1 As Single
'Fetal signal coordinate
Dim ftlY2 As Single
Dim ftlX2 As Single
Dim ftlY1 As Single
Dim ftlX1 As Single
Dim mypenMaternal As New Pen(Color.Red, 1)
Dim mypenFetal As New Pen(Color.Green, 1)
Dim mygraphMaternal As Graphics
Dim mygraphFetal As Graphics
'Maternal signal drawing setup
mygraphMaternal = Me.picBoxMatenal.CreateGraphics
'X-axis and Y-axis Adjust parameter Get:
Dim XnumericUpDownVal As Integer = NumericUpDownX.Value
Dim YnumericUpDownVal As Integer = NumericUpDownY.Value
'Use FromImage method to creat an graphics object with bitmap
'mygraphMaternal = Graphics.FromImage(m_objDrawingMatSurface)
mygraphMaternal.PageUnit = GraphicsUnit.Point
mygraphMaternal.TranslateTransform(0, picBoxMatenal.Height / 2)
'Fetal signal drawing setup
mygraphFetal = Me.picBoxFetal.CreateGraphics
'Use FromImage method to creat an graphics object with bitmap
'mygraphFetal = Graphics.FromImage(m_objDrawingFetSurface)
mygraphFetal.PageUnit = GraphicsUnit.Point
mygraphFetal.TranslateTransform(0, picBoxFetal.Height)
mtlY2 = DataMaternal(Me.receiveDisplay_count) / YnumericUpDownVal
mtlX2 = Me.receiveDisplay_count / XnumericUpDownVal
mtlY1 = DataMaternal(Me.receiveDisplay_count - 1) / YnumericUpDownVal
mtlX1 = (Me.receiveDisplay_count - 1) / XnumericUpDownVal
'Fetal signal coordinate
ftlY2 = DataFetal(Me.receiveDisplay_count) / YnumericUpDownVal
ftlX2 = Me.receiveDisplay_count / XnumericUpDownVal
ftlY1 = DataFetal(Me.receiveDisplay_count - 1) / YnumericUpDownVal
ftlX1 = (Me.receiveDisplay_count - 1) / XnumericUpDownVal
'Dim MaternalPoints As Point() = {New Point(mtlX1, mtlY1), New Point(mtlX2, mtlY2)}
'Dim FetalPoints As Point() = {New Point(ftlX1, ftlY1), New Point(ftlX2, ftlY2)}
mygraphMaternal.DrawLine(mypenMaternal, mtlX1 + 16, -mtlY1 * 126, mtlX2 + 16, -mtlY2 * 126)
mygraphFetal.DrawLine(mypenFetal, ftlX1 + 16, -ftlY1 * 126, ftlX2 + 16, -ftlY2 * 126)
'mygraphMaternal.DrawCurve(mypenMaternal, MaternalPoints, 1.0F)
'mygraphFetal.DrawCurve(mypenFetal, FetalPoints, 1.0F)
'clean up
mygraphMaternal.Dispose()
mygraphFetal.Dispose()
'Force the form to paint itself, this triggers the Paint event
'Me.picBoxMatenal.Invalidate()
'Me.picBoxFetal.Invalidate()
End Sub
相关文章推荐
- 70-316 使用Microsoft Visual C# .NET and Microsoft Visual Studio .NET 开发及实现基于Windows的应用程序 考点整理
- asp.net中Winform开发框架之数据即时更新的实现
- Windows 8 应用开发权威指南 之 应用程序的数据存储(1)应用程序安装目录操作
- Windows 8 应用商店应用开发 之 应用程序的数据存储(2)应用程序存储空间
- ASP.NET 应用程序中实现windows账号登录
- 【android开发】实现语音数据实时采集/播放
- VB.NET中层次数据绑定TreeView的实现
- [VB.NET]如何实现数据的关联?
- ASP.NET或者VB.NET开发自动备份数据库应用程序
- [VB.NET]VB.NET中用drawImage()画图以后怎么保存?程序代码如下:
- EXT2.2+C#.net+Sql 2005实现将数据导入Excel保存
- 2 C#串口或TCP远程采集数据 chart图表使用示例 保存数据到access数据库和每日.txt文件并实时显示各参数曲线
- VB2005(1、使用ADO.NET访问数据库--Windows窗体中的数据体系结构)
- Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 标准省市县数据的公司选择窗口实现
- Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)
- web开发,asp.net/c++驱动,客户应用程序开发X86windows SDK DDK/windows mobile高手/c# ,c++ coding 够全了吧,抓紧哦
- Windows应用程序开发入门到精通八:ADO.NET为应用程序提供高性能的数据访问技术
- VB.NET实现应用程序自动更新1
- Ardunio mpu6050 dmp 数据通过串口实现与matlab(mac)实时绘图 学习过程 【2014-9-7】