使用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
到底是哪裡出問題了呢?大俠們幫幫忙吧,暈菜了