加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB.NET实现windows应用程序开发串口调试并实时实时保存数据和画

发布时间:2020-12-17 07:57:33 所属栏目:百科 来源:网络整理
导读:自己最近做了一个关于VB.NET开发的串口调试程序,实现了和下位机DSP的通信,并且实现了实时画图功能,DSP把整形数据(占4个byte),左移后通过DMA方式先发高位,接收后用位段方式转化为整型。同时接受两路数据并以streamwrite的形式自动保存到.txt文件中。 Di

自己最近做了一个关于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



(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读