我的目标是板子用电池3.7v供电,然后电池电量会降低嘛,当电池电压低于3.2v时就有提示,所以用adc进行采样;
看图一时我的adc初始化部分,图二是搜索大佬的回答,我使用的就是两个电阻分压的电路,但是现在采集到的数据一直是0;
下面是获取采样值的代码;
adc_result_t ADC_GetConversion(void)
{
OSCCON = 0x68;
// select the A/D channel
ADCON0bits.CHS = 0x09;
// Turn on the ADC module
ADCON0bits.ADON = 1;
// Acquisition time delay
__delay_us(ACQ_US_DELAY);
// Start the conversion
ADCON0bits.GO_nDONE = 1;
// Wait for the conversion to finish
while (ADCON0bits.GO_nDONE)
{
}
// Conversion finished, return the result
return ((ADRESH << 8) | ADRESL);
OSCCON = 0x02;
}
|