OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3042|回复: 6

咨询一个数据循环输出问题

[复制链接]

7

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1148
金钱
1148
注册时间
2019-9-9
在线时间
171 小时
发表于 2020-5-26 16:27:23 | 显示全部楼层 |阅读模式
咨询一个数据输出问题,现在的逻辑是差不多6s处理完一个数据,需要等到10个数取平均,然后由串口输出,所以第一次串口数据差不多要1分钟,接着6s得到一个新数据就把之前的第一个数据覆盖掉,继续平均,然后串口输出,重复循环下去,这个具体要怎么写代码?脑袋有点晕了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-12-27
在线时间
0 小时
发表于 2020-5-26 16:27:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-5-26 16:35:25 | 显示全部楼层
这个是滑差法,O(∩_∩)O哈哈~
回复 支持 反对

使用道具 举报

7

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1148
金钱
1148
注册时间
2019-9-9
在线时间
171 小时
 楼主| 发表于 2020-5-26 16:45:41 | 显示全部楼层
三叶草 发表于 2020-5-26 16:35
这个是滑差法,O(∩_∩)O哈哈~

滑差法,这个要怎么进行操作呢?可以简单说一下么?
回复 支持 反对

使用道具 举报

12

主题

3397

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8669
金钱
8669
注册时间
2020-5-11
在线时间
4135 小时
发表于 2020-5-26 16:51:00 | 显示全部楼层
笨办法是数据放入数组,然后求平均。
U16 adbuf[10];
U8 adcnt=0;

adcnt++;
if(adcnt>=10)adcnt=0;
adbuf_i[adcnt]=adc_read10(0);
专治疑难杂症
回复 支持 反对

使用道具 举报

7

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1148
金钱
1148
注册时间
2019-9-9
在线时间
171 小时
 楼主| 发表于 2020-5-27 08:40:07 | 显示全部楼层
LcwSwust 发表于 2020-5-26 16:51
笨办法是数据放入数组,然后求平均。
U16 adbuf[10];
U8 adcnt=0;

这个可以,谢谢
回复 支持 反对

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-5-27 09:56:29 | 显示全部楼层
daisyduxy 发表于 2020-5-26 16:45
滑差法,这个要怎么进行操作呢?可以简单说一下么?

先判断是不是第一次进行计算平均,是的话只需要存满10个数,然后平均,输出数据;如果不是第一次进行计算,每来一个数数组删除第一个数(数组下标为0的是最早的数据),数据后面9个数据移动一下,将这个最新的值移到最后下标的数组厘米,然后平均,输出。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 02:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表