完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
uchar adc0804( void ) //读AD0804子程序
{ unsigned char addata,i; ADC_RD =1; ADC_WR =1; ADC_INIT =1; //读ADC0804 前准备 P0=0xff; //P0全部置一准备 ADC_CS =0; ADC_WR =0; ADC_WR =1; //启动ADC0804开始测电压 while(ADC_INIT==1); //查询等待A/D转换完毕产生的INT(低电平有效)信号 ADC_RD=0; //开始读转换后数据 // i=i; // i="i"; //无意义语句,用于延时等待ADC0804 读数完毕 delay_us(50); addata=P0; //读出的数据赋与addate ADC_RD=1; ADC_CS=1; //读数完毕 return(addata); //返回最后读出的数据 } uint datpro(void) //ADC0804 读出的数据处理 { unsigned char x; unsigned int dianyah,dianyal; //用于存储读出数据的高字节和低字节 unsigned int dianya="0"; //存储最后处理完的结果 注意数据类型 for(x=0;x<10;x++) //将 10次测得的结果存储在dianya中 { dianya=adc0804()+dianya; } dianya=dianya/10; //求平均值 dianyah=dianya&0xf0; //屏蔽低四位 dianyah=dianyah>>4; //右移四位 取出高四位 dianyal=dianya&0x0f; //屏蔽高四位 取出低四位 dianya=dianyal*20+dianyah*320; //最后的结果是一个四位数,便于显示 return(dianya); //返回最后处理结果 } void mian() { ADCdata=datpro() ; } 问题:datpro() 10次累加会不会读取到的 addata 值是同一个??? 还是在for循环里面,x加1后就会跳出去进行一次adc0804( void )运行算 取实时检测到的电压addata 值,再进行dianya=adc0804()+dianya;??? |
|
相关推荐
6个回答
|
|
|
|
|
|
肯定做完10次循环再去做运算的
|
|
|
|
1.如果被测电压极其稳定,可能10次读取的是同一个值,但事实是不可能的。
2.for循环里每次循环都执行一次读adc0804()和累加运算。直到x=10才跳出for循环。 |
|
|
|
你后面的理解是对的,adc0804()是个函数,每次调用的时候都会执行一次这个函数,在这个程序里,循环10次,就会调用10次这个函数。
addata是adc0804()返回的数值,如果电压稳定,而电压的纹波,干扰等在adc0804转换中不会体现的话,是有可能是相同的值,但这也只是表示做了10次转换,而每次转换的数值都相同而已。 另外,在程序里,个人觉得unsigned int dianya="0";这句没明白,因为如果是赋值0的话,应该是unsigned int dianya=0;就可以了,这里adc0804转换的应该是二进制数据,dianya是存储累加计算的结果,如果有了不为0的初始值,那么最后的累加结果也就不对了。 |
|
|
|
人中狼 发表于 2017-9-14 09:41 多谢指点,你知道这句dianya=dianyal*20+dianyah*320; 这个20 320是怎么来的?? |
|
|
|
多谢指点,你知道这个dianya=dianyal*20+dianyah*320;中的20 320是怎么来的? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
632 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
671 浏览 0 评论
772 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1340 浏览 0 评论
1166 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12057 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 21:39 , Processed in 0.748082 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号