2 qq 21905401 qq_21905401 于 2016.05.07 22:25 提问

关于串口接受数据并实时绘制波形的疑问

想用单片机采集心电数据,并通过串口将数据实时传输给上位机并显示心电波形,用VC++编写界面。
问题1:假设单片机设置采样率为250Hz,串口通信需要时间,1s内通过串口助手接受的数据小于250个,这是不是不能保证数据的实时性呢?
问题2:数据传输间隔比较短,来一个数据就画一次图,波形是不是变化很快?看了网上的例子,通过定时器定时取串口接收的数据并画图,画的数据不是该时刻串口接收数据,而且不是所有串口接收的数据都能画出来,这样是不是就会造成波形失真呢?
求给一下思路,谁有例子可以供参考啊?

3个回答

shangguanwaner
shangguanwaner   2016.05.08 04:05
已采纳

单片机以固定的频率向串口发送数据,上位机定时读取串口数据,串口的数据会缓存的,你不用担心读取不到,或者丢失。只要你读取的频率和单片机发送的频率能配合上,就不用担心你所说的不实时的问题。
最后,在这里,波形失真,与通讯无关,与你怎么获取和绘制这些数据有关。

caozhy
caozhy   Ds   Rxr 2016.05.07 23:57

用mschart控件,或者自己绘图。

qb1688
qb1688   2016.05.08 02:32

在数据的准确性和实时性之间做一个平衡

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!