标题:vs界面的设计看不懂,求指导
只看楼主
刘snow
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-4-19
结帖率:0
已结贴  问题点数:20 回复次数:2 
vs界面的设计看不懂,求指导
void comm_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            int n = comm.BytesToRead;//先记录下来,避免某种原因,人为的原因,操作几次之间时间长,缓存不一致
            byte[] buf = new byte[n];//声明一个临时数组存储当前来的串口数据
            comm.Read(buf, 0, n);//读取缓冲数据
            builder.Clear();//清除字符串构造器的内容
            //因为要访问ui资源,所以需要使用invoke方式同步ui。
            this.Invoke((EventHandler)(delegate
            {
                if( buf[0] == '1')
                {
                    this.WenDuZhi_1.Text = (buf[1] - 48).ToString() + (buf[2] - 48).ToString() + ('&').ToString() + (buf[4] - 48).ToString() + (buf[5] - 48).ToString();
                }
                if (buf[0] == 50)
                {
                    this.WenDuZhi_2.Text = (buf[1] - 48).ToString() + (buf[2] - 48).ToString() + ('&').ToString() + (buf[4] - 48).ToString() + (buf[5] - 48).ToString();
                }
                    
                //直接按ASCII规则转换成字符串   
                //builder.Append(Encoding.ASCII.GetString(buf));
               
                //追加的形式添加到文本框末端,并滚动到最后。
                //this.WenDuZhi_1.AppendText(builder.ToString());
            }));
        }
buf[0]的值为什么是1和50 还有 this.Invoke((EventHandler)(delegate 这段程序是什么意思?求助大神
搜索更多相关主题的帖子: 字符串 记录 资源 
2016-04-19 21:43
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:10 
你去看看多线程和委托。

   唯实惟新 至诚致志
2016-04-20 08:13
over1230
Rank: 8Rank: 8
等 级:贵宾
威 望:25
帖 子:113
专家分:897
注 册:2009-10-9
得分:10 
buf[0]只是串口通信回来的数据的一个标识,有可能只和两个设备在通信,一个的地址是1,一个的地址是50,然后返回的数据在两个不同的文本框内计算显示。
2016-04-20 08:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-463851-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018119 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved