找回密码
 立即注册

QQ登录

只需一步,快速开始

子曰

中级会员

16

主题

45

帖子

670

积分

中级会员

积分
670

活字格认证

子曰
中级会员   /  发表于:2015-10-19 16:35  /   查看:10663  /  回复:17
如果在串口响应消息里面写:
             this.Dispatcher.Invoke(new System.Action(() =>
            {
                PaintData(Data, curDataCnt);
            }));
数据是不会丢,但整个ui界面就卡死了,点别的按钮没反应。

用定时器DispatcherTimer 设定时间间隔为 Interval = TimeSpan.FromMilliseconds(0.1) ; refreshTimer.Tick += (s, e) => PaintData();
chart绘图就会出现丢数据的情况。
串口出来的数据是每秒100点。 请问如何解决?

17 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-10-19 18:00:00
沙发
回复 1楼子曰的帖子

谢谢对该问题的反馈。
仅从您的描述来看,不能重现您的问题,为了帮助您解决问题,请提供重现问题的demo.
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
子曰
中级会员   /  发表于:2015-10-20 10:37:00
板凳
回复 2楼Alice的帖子

这个涉及到硬件串口数据,不好做demo。
简而言之,就是怎么在串口响应消息里面操作chart?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-20 11:22:00
地板
回复 3楼子曰的帖子

很抱歉不太理解您是怎么实现模拟硬件发送数据至本机串口,并且可以第三方软件打开该串口接收该模拟数据?
通过您的描述来看,您需要去查阅.net文档,看.net是否有封装,才可以操作使用。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
子曰
中级会员   /  发表于:2015-10-20 15:44:00
5#
回复 4楼Alice的帖子

我做了个demo,可以虚拟串口工具模拟。
我保存了绘图时数据的索引,可以看出索引值并不是连续的。
且数据多点就感觉有卡顿

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-20 17:05:00
6#
回复 5楼子曰的帖子

谢谢您提供的demo。
您的demo已经收到了,需要测试后给你反馈。很抱歉给您带来的不便。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
子曰
中级会员   /  发表于:2015-10-22 15:42:00
7#
回复 6楼Alice的帖子

不好意思,之前demo发错了。
请问chart绘图除了绑定方式还有别的方式吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
tian__xiaa
注册会员   /  发表于:2015-10-22 16:01:00
8#
回复 6楼Alice的帖子



这个是虚拟串口和串口发送工具的配置,demo中的串口号设置为5,数据可以为任意10位16进制字符。按照这个配置,目前demo的chart中不会绘图,因为坐标尺度不对

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-22 17:28:00
9#
回复 7楼子曰的帖子

谢谢您的反馈。
重新接收您的问题。
您的demo正在测试,由于比较复杂,需要耗费一定时间,很抱歉给您带来的不便。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-28 12:33:00
10#
回复 8楼tian__xiaa的帖子

您好。
我们在运行您的demo的时候出现了错误,但是我们看了您的代码,并进行了分析。
您的代码主要是从硬件去数据,然后在C1chart展示出来。
我们也使用随机安装示例做了测试,测试示例路径如下:
\Documents\ComponentOne Samples\WPF\C1.WPF.Chart\CS\ChartSamples\Performance\Dynamic

通过将Dynamic.xaml.cs文件中的Interval属性改成:
  1. Interval = TimeSpan.FromSeconds(0.01) };
复制代码

来模拟您的1秒100个数据的频率。

C1Chart通过ItemsSource绑定数据源,但是实际上经过测试,在1秒内根本无法从数据源获取到100个数据,在规定的时间1秒数据源里的数据就没有100个,C1chart只是展示数据源里的数据,因为根本就没有100个数据,自然也无法在1秒展示100个数据。
调查发现,这不是产品问题,推测是计算机硬件或是平台本身的上限导致的。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部