LabVIEW连续采样求平均值

LabVIEW连续采样求平均值,第1张

可以在While中加两个移位寄存器,

1. 第一个用来把每次采的点建成数组,即每次把新采的数据加到数组最后。

2. 当25s后或数组长度满如旦100后,蚂袜取此数组的最后100个数据建立子数组,然后对此子数组求平均值,存到第二个移位寄存器中。

3. 然后把上述数组清空,准备再存入新采的另外100个数据。满100后再取平均,然后与第二个寄存器比较。

4. 如果第二个寄存器中的值比新平均值小,得到闷橡激结果,结束循环。

5. 如果不比新平均值小,则把新平均值存入第二个寄存器,返回第2步。

简单点,建立32位变伍稿灶量A,每采样一次就加到A,采样完8次再除以8就好了,

u16 ADC_ZKB(u8 Channel)

{

u32 value1=0

u16 value

u8 i

for(i=0i<8i++)

{

ADC_CSR = Channel &0x0F // 选择AD转换通道

ADC_CR1 |= 0x01 // 启动AD转换

while(!(ADC_CSR &0x80))// 等待AD转换完成

value = ADC_DRL

value |=((ADC_DRH<<8)&0X0300)

value1+=value

ADC_CSR = 0x00

}

return (value1/8)

}

大概这意思,怎敬雹么定义32位数,这个自己去查,因为AD采样时间比较久,估计这样FOR可能不合适,腔扮自己可以改改。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12348671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存