救命啊,脑子现在一团糨糊
我用串口采集数据, 如果先存起来, 再读到波形图画图的话, 图形会比较标准,但如果采出来, 直接绘图的话,就乱七八糟的,我想请问这是怎么回事?附件里 pic2 是先存起来再读数, 图形和采集的波形基本差不多;pic1和pic3都是直接画图。
[ 本帖最后由 sjzgm 于 2008-5-19 20:08 编辑 ] 时间上会有一个差距吧
你存起来时是直接存的,有做简单处理吗?
谢谢
没有,只要串口有数 就直接存起来好像跟程序运行时系统的处理时间有关
就像你说的,应该是时间上有差距。 能帮我看看这个怎么解决吗:有一组数据,都是正值,当检测到小于某个给定的值时,后面的数都取反(取成负),下次再检测到比给定值小的数时,再反过来(取正)。
就是pic2的那个波形,是想把后半周期的波形翻下去,让它显示成正弦波的样子。 你将那个采集到的值乘一个-1,就可以,
谢谢,盼指点,最好能做出来(*^__^*) 嘻嘻……
我是这样想的:我设定一个值0.5 , 只要找到比0.5小的值,以后的值都去反;因为是数值是循环的,当找到下一个小于0.5的值的时候,在原来的基础上再取反。我用while循环和if循环都尝试过,逻辑上总是不对,水平有限,实在是整不明白了。盼大家指点指点。
如果用C的话,大概是这样:
int flag=1,i;
float x; //输入信号
for(i=0;i<length;i++)//length是信号的个数
{x=x*flag;
while(x<=0.5)
flag=-flag;}
[ 本帖最后由 sjzgm 于 2008-5-19 19:52 编辑 ] 我也是这样试过,但把握不到规律,不知道该怎样定义外面的条件,结果不是翻半个周期,而是整个都翻下来了。
我是用了真假的条件判断,先比较,如果数据<=0.5 ,则条件为真,值取反(或乘-1)
页:
[1]