久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2522|回復: 1
打印 上一主題 下一主題
收起左側

c#上位機未能顯示波形,求大神支招

[復制鏈接]
跳轉到指定樓層
樓主
ID:229375 發表于 2017-8-26 20:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
為了方便各路豪杰看代碼,我復制相關代碼如下:       private const int Unit_length = 20;//單位格大小
        private const int StartPrint = 32;//點坐標偏移量
        private List<float> DataList = new List<float>();//數據結構----線性鏈表
        private Pen TablePen = new Pen(Color.FromArgb(0x00, 0x00, 0x00));//軸線顏色
        private Pen LinesPen = new Pen(Color.FromArgb(0xa0, 0x00, 0x00));//波形顏色

        private void groupBox3_Paint(object sender, PaintEventArgs e)//在容器里面畫波形
        {
            String Str = "";
            Graphics g = e.Graphics;
            System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
            e.Graphics.FillRectangle(Brushes.White, e.Graphics.ClipBounds);
            for (int i = 0; i <= 30; i++)
            {
                e.Graphics.DrawLine(TablePen, StartPrint + i * Unit_length + 5, StartPrint - 14, StartPrint + i * Unit_length + 5, 17 * Unit_length);//畫縱線
                gp.AddString((i * 10).ToString(), this.Font.FontFamily, (int)FontStyle.Regular, 11, new RectangleF(StartPrint + i * Unit_length, 16 * Unit_length + 18, 400, 50), null);//添加文字
            }
            for (int i = 0; i <= 16; i++)
            {
                e.Graphics.DrawLine(TablePen, StartPrint +5, i * Unit_length + 18, StartPrint + 30 * Unit_length + 5, i * Unit_length + 18);//畫橫線
                Str = Convert.ToString((16 - i) * 10);
                if (i == 0)
                    Str = "65536";
                if (i == 17)
                    break;
                gp.AddString(Str, this.Font.FontFamily, (int)FontStyle.Regular, 12, new RectangleF(0, i * Unit_length + 16, 400, 50), null);//添加文字
            }
            e.Graphics.DrawPath(Pens.Black, gp);//文字畫在表上
            for (int i = 0; i < DataList.Count - 1; i++)//繪畫波形部分
            {

                e.Graphics.DrawLine(LinesPen, StartPrint + 5 + i * 5 ,17 * Unit_length - DataList[i] * 4, StartPrint + 5 + (i + 1) * 5, 7 * Unit_length + 18 - DataList[i + 1] * 4);

            }

        }      
       private void AddData(float Data)//鏈表 給波形傳數值
        {
            for (int i = 0; i < sz3.Length; i++)
            {
                DataList.Add(sz3[i]);
            }
            Invalidate();

        }


            for (int k = 0; k < (Q - 2); k = k + 2)//數組3里面是要繪畫的數據  例如:4218,4200 ,4199之類的
            {

                sz3[m] = sz4[k] * b + sz4[k + 1];
                m++;
            }





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:229375 發表于 2017-8-27 11:38 | 只看該作者
今天測試了一下,發現鏈表里面是有數據的,但就是不知道為什么沒有波形顯示
我參照這個帖子寫的波形顯示上位機波形顯示 求串口數據波形顯示代碼,C#的!先表示感謝!
http://www.zg4o1577.cn/bbs/dpj-75558-1.html
(出處: 單片機論壇)

還有我修改了幾部分:
            //接受串口的數據添加到鏈表當中。不再從數組3里接收數據
            bl1 = (byte)serialPort1.ReadByte();
            string b = Convert.ToString(bl1, 16).ToUpper();
            textBox1.AppendText("0x" + (b.Length == 1 ? "0" + b : b) + " ");
            data = Convert.ToSingle(bl1);      
            AddData(data);

        //給鏈表添加數據,之前給鏈表添加數據好像是錯誤的
        void AddData(float Data)
{
            DataList.Add(Data);
            Invalidate();
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青春草国产| 一级a性色生活片久久毛片波多野 | 久久综合狠狠综合久久综合88 | 欧美亚洲另类丝袜综合网动图 | 91一区二区| 亚洲日本中文 | 国产一区二区三区久久久久久久久 | 成人免费看电影 | 日本三级电影在线看 | 国产精品久久久亚洲 | 精品视频一区二区三区在线观看 | 亚洲成人黄色 | 日韩小视频 | 中文字幕一区在线观看视频 | 亚洲综合激情 | 久久爱黑人激情av摘花 | 久久伊人精品一区二区三区 | 成人在线免费观看 | 欧美激情一区二区三区 | 色狠狠桃花综合 | www.伊人.com | 久久综合久 | 国产专区在线 | 亚洲国产精品99久久久久久久久 | 精品视频免费 | 中文字幕乱码一区二区三区 | 国产日韩欧美一区二区 | 欧美一区二区三区在线视频 | 日韩黄 | 成人午夜性成交 | 伊人免费在线观看 | 国产免费又色又爽又黄在线观看 | 在线观看国产 | 国产免费福利在线 | 91午夜在线 | 欧美激情国产日韩精品一区18 | 欧美日韩视频在线第一区 | 久久免费精彩视频 | 日韩久久久久久久 | 国产视频第一页 | 国产成人自拍一区 |