搜索
bottom↓
回复: 21

上传我做的串口示波器 C# 具有断帧功能,显示心率测量波形

[复制链接]

出0入0汤圆

发表于 2014-3-27 21:17:05 | 显示全部楼层 |阅读模式
一直很喜欢C# 奈何 公司 项目做的都是  LabVIEW 的项目   C#纯粹业余玩玩   可能我现在连定义一个变量 都不会  

不过还是东拼西凑 凑出来了个可以放出来的东西  

1.目前版本 貌似很吃cpu  应该是协议解析那部分的问题 我在想办法改进  
2.C# 编写 基于 那啥 .net 啥的
3.波形控件用的是 ZedGraph  听不错的一个控件

然后是 软件界面   




然后下边的是 我做的心率计模块的 波形  波形不是很好 但是能够测量出来心率



最后 是软件包  软件能够给您提供方便就太好不过了 ,有什么 bug 能向我反馈 那就更好啦

软件 将在本帖持续更新  附件包里边有使用说明   



哦 对了 还有串口发送协议  其实很简单  以  STM32 为例

  1. void  USART1_SendInt(int16_t  ch1,int16_t  ch2,int16_t  ch3,int16_t  ch4,int16_t
  2. ch5,int16_t ch6,
  3. int16_t ch7,int16_t ch8,int16_t ch9)
  4. {
  5. uint8_t check_byte;
  6. float4char f0, f1, f2, f3;
  7. USART_Send(0x57);
  8. USART_Send(0x43);
  9. USART_Send(18);
  10. USART_Send(0xA1);
  11. USART_Send(ch1>>8);
  12. USART_Send(ch1);
  13. USART_Send(ch2>>8);
  14. USART_Send(ch2);
  15. USART_Send(ch3>>8);
  16. USART_Send(ch3);
  17. USART_Send(ch4>>8);
  18. USART_Send(ch4);
  19. USART_Send(ch5>>8);
  20. USART_Send(ch5);
  21. USART_Send(ch6>>8);
  22. USART_Send(ch6);
  23. USART_Send(ch7>>8);
  24. USART_Send(ch7);
  25. USART_Send(ch8>>8);
  26. USART_Send(ch8);
  27. USART_Send(ch9>>8);
  28. USART_Send(ch9);
  29. //check_byte   =  (Q0>>8)^Q0^(Q1>>8)^Q1^(Q2>>8)^Q2^(Q3>>8)^Q3;               
  30. //简单校验  异或所有数据
  31. USART_Send(1);
  32. USART_Send(2);
  33. }
复制代码


以 arduino为例  

  1. Serial.write(0x57);
  2. Serial.write(0x43);
  3. Serial.write(18);
  4. Serial.write(0xa1);
  5. Serial.write(sensorValue>>8);
  6. Serial.write(sensorValue);
  7. Serial.write(0);
  8. Serial.write(0);
  9. Serial.write(0);
  10. Serial.write(0);
  11. Serial.write(0);
  12. Serial.write(0);
  13. Serial.write(0);
  14. Serial.write(0);
  15. Serial.write(0);
  16. Serial.write(0);
  17. Serial.write(0);
  18. Serial.write(0);
  19. Serial.write(0);
  20. Serial.write(0);
  21. Serial.write(0);
  22. Serial.write(0);
复制代码


本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-3-27 21:37:34 | 显示全部楼层
二楼 不错

出0入0汤圆

发表于 2014-3-27 21:55:48 | 显示全部楼层
LZ试试看微软自己的Chart控件.
我也是自学的C#,渣渣一个~
另外方便的话,贴点数据上来看看,用stopwatch在程序里面卡关键步骤运行时间.很能代表问题~

出0入0汤圆

 楼主| 发表于 2014-3-28 09:53:56 | 显示全部楼层
error_dan 发表于 2014-3-27 21:55
LZ试试看微软自己的Chart控件.
我也是自学的C#,渣渣一个~
另外方便的话,贴点数据上来看看,用stopwatch在程 ...

恩  软件正在完善   目前是由于 协议解析方面 我认为最费时间                                                        

出0入0汤圆

发表于 2014-3-28 10:48:04 | 显示全部楼层
Name_006 发表于 2014-3-28 09:53
恩  软件正在完善   目前是由于 协议解析方面 我认为最费时间                                          ...

还以为有源码呢

出0入0汤圆

发表于 2014-4-11 20:45:56 | 显示全部楼层

原来没有源码,正想学C#来写串口程序

出0入0汤圆

发表于 2014-4-12 07:34:47 来自手机 | 显示全部楼层
用ascii的吧用回车换行断帧

出0入0汤圆

发表于 2014-4-12 08:17:02 | 显示全部楼层
这个不错

出0入93汤圆

发表于 2014-4-12 08:30:36 | 显示全部楼层
楼主同样的代码写那么多不累么。.NET没用过,也不会去用,它的串口控件也不清楚,只知道Windows API中串口线路状态就有发送和检测断开帧的功能。另外,你的比较好的ZedGraph似乎并不好看。

出0入0汤圆

发表于 2014-4-28 13:55:30 | 显示全部楼层
1.目前版本 貌似很吃cpu  应该是协议解析那部分的问题 我在想办法改进    基于这个原因,得考虑使用多线程,而且让线程等待,不能是一直执行死循环,

出0入0汤圆

发表于 2014-4-28 14:17:52 | 显示全部楼层
通知,,没有源码或者原工程吗?

出0入0汤圆

 楼主| 发表于 2014-4-28 14:26:35 | 显示全部楼层
craigtao 发表于 2014-4-28 13:55
1.目前版本 貌似很吃cpu  应该是协议解析那部分的问题 我在想办法改进    基于这个原因,得考虑使用多线程 ...

恩恩 多谢建议 我有时间 看下多线程方面的 资料  这个软件 不开源的  只是写出来 平时调试些东西方便些                                               

出0入0汤圆

发表于 2014-4-28 14:34:54 | 显示全部楼层
Name_006 发表于 2014-4-28 14:26
恩恩 多谢建议 我有时间 看下多线程方面的 资料  这个软件 不开源的  只是写出来 平时调试些东西方便些   ...

哦,,,

出0入0汤圆

发表于 2014-4-28 18:21:17 来自手机 | 显示全部楼层
串口一直接受数据CPU会很高
串口控件的问题
做过实验

出0入0汤圆

发表于 2014-4-29 10:08:55 | 显示全部楼层
ls怎么解决这个问题?请指点下。

出0入0汤圆

发表于 2014-6-17 22:26:55 | 显示全部楼层
Name_006 发表于 2014-4-28 14:26
恩恩 多谢建议 我有时间 看下多线程方面的 资料  这个软件 不开源的  只是写出来 平时调试些东西方便些   ...

最近也在写串口上的东西,请楼主指导下,怎么实现断帧的呢? 用于Modbus协议。谢谢

出0入0汤圆

发表于 2014-6-25 17:42:53 | 显示全部楼层
收藏了, 謝謝分享!

出0入0汤圆

发表于 2014-6-25 22:51:00 | 显示全部楼层
用的什么画曲线模块?

出0入0汤圆

 楼主| 发表于 2014-6-29 18:10:46 | 显示全部楼层
bad_fpga 发表于 2014-6-25 22:51
用的什么画曲线模块?

ZedGraph                              

出0入0汤圆

发表于 2014-9-21 13:56:24 | 显示全部楼层
zedgraph,好东西,呵呵

出0入17汤圆

发表于 2016-5-1 14:15:15 | 显示全部楼层
正学习,多谢楼主分享

出0入0汤圆

发表于 2016-7-8 14:35:04 | 显示全部楼层
时间卡,就是数据协议解释,时间没有利用好。
协议解释部分写得不够好。
应该用时间片,轮训解释。
或者用多线程解释协议。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-23 10:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表