Name_006 发表于 2014-3-27 21:17:05

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

一直很喜欢C# 奈何 公司 项目做的都是LabVIEW 的项目   C#纯粹业余玩玩   可能我现在连定义一个变量 都不会

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

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

然后是 软件界面   




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



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

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



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

voidUSART1_SendInt(int16_tch1,int16_tch2,int16_tch3,int16_tch4,int16_t
ch5,int16_t ch6,
int16_t ch7,int16_t ch8,int16_t ch9)
{
uint8_t check_byte;
float4char f0, f1, f2, f3;
USART_Send(0x57);
USART_Send(0x43);
USART_Send(18);
USART_Send(0xA1);
USART_Send(ch1>>8);
USART_Send(ch1);
USART_Send(ch2>>8);
USART_Send(ch2);
USART_Send(ch3>>8);
USART_Send(ch3);
USART_Send(ch4>>8);
USART_Send(ch4);
USART_Send(ch5>>8);
USART_Send(ch5);
USART_Send(ch6>>8);
USART_Send(ch6);
USART_Send(ch7>>8);
USART_Send(ch7);
USART_Send(ch8>>8);
USART_Send(ch8);
USART_Send(ch9>>8);
USART_Send(ch9);
//check_byte   =(Q0>>8)^Q0^(Q1>>8)^Q1^(Q2>>8)^Q2^(Q3>>8)^Q3;               
//简单校验异或所有数据
USART_Send(1);
USART_Send(2);
}

以 arduino为例

Serial.write(0x57);
Serial.write(0x43);
Serial.write(18);
Serial.write(0xa1);
Serial.write(sensorValue>>8);
Serial.write(sensorValue);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);
Serial.write(0);

xiong57785 发表于 2014-3-27 21:37:34

二楼 不错

error_dan 发表于 2014-3-27 21:55:48

LZ试试看微软自己的Chart控件.
我也是自学的C#,渣渣一个~
另外方便的话,贴点数据上来看看,用stopwatch在程序里面卡关键步骤运行时间.很能代表问题~

Name_006 发表于 2014-3-28 09:53:56

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

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

error_dan 发表于 2014-3-28 10:48:04

Name_006 发表于 2014-3-28 09:53
恩软件正在完善   目前是由于 协议解析方面 我认为最费时间                                          ...

还以为有源码呢{:2_28:}

leon...... 发表于 2014-4-11 20:45:56

error_dan 发表于 2014-3-28 10:48
还以为有源码呢

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

gongxd 发表于 2014-4-12 07:34:47

用ascii的吧用回车换行断帧

enovo2468 发表于 2014-4-12 08:17:02

这个不错

takashiki 发表于 2014-4-12 08:30:36

楼主同样的代码写那么多不累么。.NET没用过,也不会去用,它的串口控件也不清楚,只知道Windows API中串口线路状态就有发送和检测断开帧的功能。另外,你的比较好的ZedGraph似乎并不好看。

craigtao 发表于 2014-4-28 13:55:30

1.目前版本 貌似很吃cpu应该是协议解析那部分的问题 我在想办法改进    基于这个原因,得考虑使用多线程,而且让线程等待,不能是一直执行死循环,

craigtao 发表于 2014-4-28 14:17:52

通知,,没有源码或者原工程吗?

Name_006 发表于 2014-4-28 14:26:35

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

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

craigtao 发表于 2014-4-28 14:34:54

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

哦,,,{:smile:}

gongxd 发表于 2014-4-28 18:21:17

串口一直接受数据CPU会很高
串口控件的问题
做过实验

yanmaishuilei 发表于 2014-4-29 10:08:55

ls怎么解决这个问题?请指点下。

chliken 发表于 2014-6-17 22:26:55

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

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

largolun 发表于 2014-6-25 17:42:53

收藏了, 謝謝分享!

bad_fpga 发表于 2014-6-25 22:51:00

用的什么画曲线模块?

Name_006 发表于 2014-6-29 18:10:46

bad_fpga 发表于 2014-6-25 22:51
用的什么画曲线模块?

ZedGraph                              

lovecxm 发表于 2014-9-21 13:56:24

zedgraph,好东西,呵呵

radar_12345 发表于 2016-5-1 14:15:15

正学习,多谢楼主分享

jiki119 发表于 2016-7-8 14:35:04

时间卡,就是数据协议解释,时间没有利用好。
协议解释部分写得不够好。
应该用时间片,轮训解释。
或者用多线程解释协议。
页: [1]
查看完整版本: 上传我做的串口示波器 C# 具有断帧功能,显示心率测量波形