原子F4例程关于 ADC 的一点疑惑

2019-07-20 19:53发布

ADC 主函数的主循环中
adcx=Get_Adc_Average(ADC_Channel_5,20);//获取通道5的转换值,20次取平均
  LCD_ShowxNum(134,130,adcx,4,16,0);    //显示ADCC采样后的原始值
temp=(float)adcx*(3.3/4096);          //获取计算后的带小数的实际电压值,比如3.1111
  adcx=temp;                            //赋值整数部分给adcx变量,因为adcx为u16整形
  LCD_ShowxNum(134,150,adcx,1,16,0);    //显示电压值的整数部分,3.1111的话,这里就是显示3
  temp-=adcx;                           //把已经显示的整数部分去掉,留下小数部分,比如3.1111-3=0.1111
  temp*=1000;                           //小数部分乘以1000,例如:0.1111就转换为111.1,相当于保留三位小数。
  LCD_ShowxNum(150,150,temp,3,16,0X80); //显示小数部分(前面转换为了整形显示),这里显示的就是111.
  LED0=!LED0;
  delay_ms(250);
红 {MOD}部分中的 4096 是怎么确定出来的诶?看了一下实验现象,好像是通过输入最大值3.3V,然后在通过ADC转换得出数值,大概是4096,  所以最后确定为4096的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。