发新帖我要提问
12
返回列表

想做一个PC在线采集系统,请给些建议!

[复制链接]
楼主: wangpeng59
手机看帖
扫描二维码
随时随地手机跟帖
15113837368| | 2017-12-26 17:02 | 显示全部楼层
c#应该挺简单的,1ms发一次,缓冲区有数据事件有可能几十ms后才会被执行,缓冲区全部读出来可能会有一帧数据不完整,可以做一个队列 ,每次读取全部数据放入队列,然后在队列里仔细分析,完整的取出,不完整的的等下次,
相关类 SerialPort, LinkedList

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
wangpeng59 + 3
wangpeng59|  楼主 | 2017-12-26 17:07 | 显示全部楼层

labview可以这么快采集吗?

使用特权

评论回复
wangpeng59|  楼主 | 2017-12-26 17:08 | 显示全部楼层

labview可以这么快采集吗?

使用特权

评论回复
wangpeng59|  楼主 | 2017-12-26 17:08 | 显示全部楼层
linqing171 发表于 2017-12-26 13:42
好厉害啊。
你的PC机用的什么串口芯片? 有多少字节的缓冲? 3.1M的波特率可不慢。 ...

不知道啊,我STM32设置成了这么高,串口助手调成了这么高,就收到了。。

使用特权

评论回复
wangpeng59|  楼主 | 2017-12-26 17:10 | 显示全部楼层
@若水 发表于 2017-12-26 08:29
用你感觉操作容易的工具与语言就可以了,按你这样发,要注意下面几点:
1、要有帧头与帧尾,这样方便上位 ...

好的,我得多了解了解,谢谢!

使用特权

评论回复
wangpeng59|  楼主 | 2017-12-26 17:11 | 显示全部楼层
yklstudent 发表于 2017-12-26 08:30
這麽高的波特率,距離能有多遠?

距离很近,串口线,大概60cm?

使用特权

评论回复
wangpeng59|  楼主 | 2017-12-26 17:12 | 显示全部楼层
15113837368 发表于 2017-12-26 17:02
c#应该挺简单的,1ms发一次,缓冲区有数据事件有可能几十ms后才会被执行,缓冲区全部读出来可能会有一帧数据不 ...

就是频率有点儿高,可能会比较麻烦

使用特权

评论回复
jrcsh| | 2017-12-27 02:58 | 显示全部楼层
还应该考虑 ,  协议报头和报尾数校验

使用特权

评论回复
@若水| | 2017-12-27 08:54 | 显示全部楼层
wangpeng59 发表于 2017-12-26 17:10
好的,我得多了解了解,谢谢!

使用特权

评论回复
yjgna| | 2017-12-27 09:30 | 显示全部楼层
以前做过类似的心电图信号,也是串口上传到PC显示波形。
下位机MCU将这些信号滤波后 再上传更好。比如每3个点取1个点。这样数据量就少很多。
上位机显示波形并不需要这么多的数据,至于上位机开发,很多都可以,C#、Qt(qwt)等等。
需要注意的是,上位机界面的刷新和串口数据的接收处理 要在不同的线程,否则界面会卡

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
wangpeng59 + 3
ddlxiaoxu| | 2017-12-27 09:41 | 显示全部楼层
wangpeng59 发表于 2017-12-26 17:08
labview可以这么快采集吗?

1ms更新率速率 6字节数据 上位机labview做的能采集到80%左右的数据  波特率115200  机箱带的串口好像就能支持那么高的波特率。
你是用stm32的usb虚拟串口然后的波特率3.1M的吧?

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
wangpeng59 + 3
wangpeng59|  楼主 | 2017-12-27 13:15 | 显示全部楼层
yjgna 发表于 2017-12-27 09:30
以前做过类似的心电图信号,也是串口上传到PC显示波形。
下位机MCU将这些信号滤波后 再上传更好。比如每3 ...

谢谢!我不光是显示,还要导出数据至excel的。。

使用特权

评论回复
wangpeng59|  楼主 | 2017-12-27 13:16 | 显示全部楼层
ddlxiaoxu 发表于 2017-12-27 09:41
1ms更新率速率 6字节数据 上位机labview做的能采集到80%左右的数据  波特率115200  机箱带的串口好像就能 ...

不是呀,就是用的STM32的串口。。不过确实不用这么快,我可以试着降一降

使用特权

评论回复
xcvista| | 2017-12-27 20:22 | 显示全部楼层
1 很容易。
2 如果没记错,Arduino 有这个功能。如果要自己做的话,串口传输电脑端记录或 USB HID 都挺简单的。(后者可以参考 libhidapi。)

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
wangpeng59 + 3 赞一个!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则