1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
求大神解释一下ad_buf=(float)((ad_dat1-1)/3.0)这句程序;为何取了五个数据平均值了之后,又减去1在除以3,这是为何呢?
while(1) { if(i<5) // 滤 { i++; AD_DAT+=A_D(); // 波 } else // 算 { i=0; // 法 ad_dat1=AD_DAT/5; if(ad_dat1>1) { ad_buf=(float)((ad_dat1-1)/3.0); Water_dat=(uchar)(ad_buf); } else Water_dat=0; AD_DAT=0; } |
|
相关推荐
5个回答
|
|
|
|
|
|
A-D()读取的就是ADC0832转换过来的值
|
|
|
|
|
|
|
|
if(ad_dat1>1) { ad_buf=(float)((ad_dat1-1)/3.0); Water_dat=(uchar)(ad_buf); }这句话是啥意思呢 |
|
|
|
那我就乱猜猜啊! ad_buf=(float)((ad_dat1-1)/3.0); 减1真不好说,看不出道理。 除以3吗,如果没说错的话,就是信号被放大。这里不仅仅是个倍数的关系啊。 比如正常采样是0-5V,对应0-255。这里除以3大概是255/3值约为84,也就是说,你测量范围为0-84。在具体就要看设计要求了。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
6101 浏览 3 评论
7371 浏览 1 评论
7609 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
9400 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1276 浏览 0 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 03:52 , Processed in 0.860081 second(s), Total 80, Slave 64 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号