用数组索引不合适,应该用数组子集。
数组子集所在位置
不用这么麻烦,有个问题就是,你这个串口,每秒钟接收多少个数据。假如说,你的串口每秒钟1000数据,那你第二秒要算的平均数是从101到200呢,还是从1001到1100。我的方法是每秒数据更新的,也就是第二秒算的是1001到1100.
这个1000的for循环,模拟每秒钟我采1000数据,每秒钟,都是拿出最新的1000数据,索引前100进行平均。
框图的下半部分是你的思路,用一维循环移位的话,数组会越来越大,当然,你电脑内存够大,每次运行时间能够不让数组超出内存也可以。
希望能解决您的问题。