OpenEdv-开源电子网

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

触摸屏实验的问题

[复制链接]

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-2-16
在线时间
0 小时
发表于 2012-4-26 17:51:48 | 显示全部楼层 |阅读模式
//读取一个坐标值
//连续读取READ_TIMES次数据,对这些数据升序排列,
//然后去掉最低和最高LOST_VAL个数,取平均值
#define READ_TIMES 15 //读取次数
#define LOST_VAL 5   //丢弃值
u16 ADS_Read_XY(u8 xy)
{
 u16 i, j;
 u16 buf[READ_TIMES];
 u16 sum=0;
 u16 temp;
 for(i=0;i<READ_TIMES;i++)
 {    
  buf=ADS_Read_AD(xy);    
 }       
 for(i=0;i<READ_TIMES-1; i++)//排序
 {
  for(j=i+1;j<READ_TIMES;j++)
  {
   if(buf>buf[j])//升序排列
   {
    temp=buf;
    buf=buf[j];
    buf[j]=temp;
   }
  }
 }  
 sum=0;
 for(i=LOST_VAL;i<READ_TIMES-LOST_VAL;i++)sum+=buf;
 temp=sum/(READ_TIMES-2*LOST_VAL);
 return temp;  
}

黑色字体
#define READ_TIMES 15 //读取次数
#define LOST_VAL 5   //丢弃值

  这里为什么是15 ,5啊   为什么要升序排列去平均值啊
这些驱动代码 有啥资料参考没啊   XPT2046  没找到啊   
求解释。。。。
自学成才
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

302

帖子

2

精华

高级会员

Rank: 4

积分
727
金钱
727
注册时间
2011-11-22
在线时间
10 小时
发表于 2012-4-26 18:45:08 | 显示全部楼层
这些数据应该没参考的,根据个人经验和实际硬件情况得出来的
世界如此美好,好好珍惜每一天吧!
回复 支持 反对

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-2-16
在线时间
0 小时
 楼主| 发表于 2012-4-27 10:43:31 | 显示全部楼层
还是不明白啊
自学成才
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-27 12:29:28 | 显示全部楼层
回复【楼主位】纯风/ST:
---------------------------------
这就是个简单的滤波算法.
读取15次或者多少次,看你自己的需要,次数越多占用时间越长.
比如我们的是读15次,然后排序,把最低的5次和最高的5次丢掉,取中间值,然后平均.

类似15个评委打分,去掉最高分,最低分.剩下的取平均值.
 
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-2-16
在线时间
0 小时
 楼主| 发表于 2012-4-28 11:35:10 | 显示全部楼层
貌似有点明白了。
自学成才
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2012-7-3
在线时间
0 小时
发表于 2012-7-3 11:34:27 | 显示全部楼层
把最低的5次和最高的5次丢掉,取中间值,然后平均.
for(i=LOST_VAL;i<READ_TIMES-LOST_VAL;i++)sum+=buf;
 好像只去掉最低的5个,sum 加了10次
temp=sum/(READ_TIMES-2*LOST_VAL);
sum 除以 5
手误?
回复【4楼】正点原子:
---------------------------------
>
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-3 11:46:38 | 显示全部楼层
这个结果都要根据READ_TIMES,LOST_VAL的值来的.之前的备注无效.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2012-7-3
在线时间
0 小时
发表于 2012-7-3 11:56:40 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
sum 加了       READ_TIMES-LOST_VAL      次 
temp=sum 除以 READ_TIMES-2*LOST_VAL  次
temp不是平均值吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-3 12:36:10 | 显示全部楼层
是平均啊,有问题么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2012-7-3
在线时间
0 小时
发表于 2012-7-3 12:42:10 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
READ_TIMES-LOST_VAL 不等于 READ_TIMES-2*LOST_VAL  
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-3 13:56:41 | 显示全部楼层
搞不懂你想问什么.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-3 13:57:32 | 显示全部楼层
你自己仿真看看吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 14:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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