自己最近做了一个关于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
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|