使用W801的ADC采样时,PGA放大倍数的设置没有看明白,怎么设置都不对,SDK中设置的是
tls_adc_set_pga(1,1);
看代码应该是0倍放大,改成tls_adc_set_pga(1,4);或者tls_adc_set_pga(16,4);或者tls_adc_set_pga(16,2);后,average = tls_read_adc_result();
printf("adc_result: 0x%xrn", average);
这里的读数不但没有增加反而减小了,实际电压大约是14mV。
而且文档中说adc_get_offset时PGA倍数要与采样一直,但是adc_get_offset时无论怎么修改tls_adc_set_pga的值,返回的adc_offset都是0x143a3附近的值,上下偏差不会超过+-10.
在tls_adc_set_pga函数里测试几种不同参数组合,输出tls_reg_write32(HR_SD_ADC_PGA_CTRL, val);的val值也是对的,和手册写的一直0x08要求一致
0000 1000 0011
0001 1001 0011
0001 0001 0011
0000 0000 0011
到底是哪里出问题了呢?大侠们帮帮忙吧,晕菜了