您的位置:首页 > 编程语言 > VB

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐