Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mcp2515 mbed-dev-f303
Diff: MA/Moving_Average.cpp
- Revision:
- 4:2503c88a564f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MA/Moving_Average.cpp Tue Jan 11 02:19:55 2022 +0000
@@ -0,0 +1,40 @@
+#include "mbed.h"
+#include "Moving_Average.h"
+
+
+
+// Source是不断变化的
+float Moving_Average(unsigned int NN, float *FILTER, float Source)
+{
+
+ float AVER = 0.0f;
+ float SUM = 0;
+ unsigned char i;
+
+
+ FILTER[NN] = Source; // 将接受到的数据放在均值滤波数组的“最后(倒数第2个)”元素里面
+
+
+ // 把第一次进入的 Source 赋值给 FILTER[0] ~ FILTER[N-1]
+ if(FILTER[NN+1] == 0) // FILTER[N+1]等于0,表示第一次进入该函数
+ {
+ for(i = 0; i < NN; i++)
+ {
+ FILTER[i] = Source;
+ }
+
+ FILTER[NN+1] = 1; // 设置标记,已经进入过该函数,以后不再全部赋值
+ }
+
+
+ for(i = 0; i < NN; i++)
+ {
+ FILTER[i] = FILTER[i + 1];
+ SUM += FILTER[i];
+ }
+
+ AVER = SUM / NN;
+ SUM = 0;
+
+ return AVER;
+}
\ No newline at end of file