新手入门
- 积分
- 15
- 金钱
- 15
- 注册时间
- 2017-12-28
- 在线时间
- 1 小时
|
10金钱
程序如下:
adcx=Get_Adc_Average(ADC_Channel_9,10);//读取亮度
temp=(float)adcx*(3300.0/4096.0)*2;
light=(5000-temp)/5000.0*100;
if(light<45)
{
light=(5000-temp)/5000.0*85;
}
if(light<35)
{
light=(5000-temp)/5000.0*60;
}
if(light<23)
{
light=0;
}
很多地方无法理解 为什么一开始 temp=(float)adcx*(3300.0/4096.0)*2这里要×2
light=(5000-temp)/5000.0*100是什么意思
总之后面的更加看不懂了 新人有没有大佬详细解释一下
|
最佳答案
查看完整内容[请看2#楼]
从程序可以知道 ,光强度为5000,*100是转化为百分率进行计算,光强度分为三段进行了校准。每一段的百分率不一样。2为系数。当最大光强时ADC采样值为2048,此时光敏电阻的电压为1.65V。2048*2=4096。
|