ADC采集代码如下:
const ADCCC26XX_HWAttrs adcCC26xxHWAttrs[CC1310_LAUNCHXL_ADCCOUNT] = { { .adcDIO = CC1310_LAUNCHXL_DIO7_ANALOG, //已修改 .adcCompBInput = ADC_COMPB_IN_AUXIO5, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = CC1310_LAUNCHXL_DIO24_ANALOG, .adcCompBInput = ADC_COMPB_IN_AUXIO6, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = CC1310_LAUNCHXL_DIO25_ANALOG, .adcCompBInput = ADC_COMPB_IN_AUXIO5, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = CC1310_LAUNCHXL_DIO26_ANALOG, .adcCompBInput = ADC_COMPB_IN_AUXIO4, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = CC1310_LAUNCHXL_DIO27_ANALOG, .adcCompBInput = ADC_COMPB_IN_AUXIO3, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = CC1310_LAUNCHXL_DIO28_ANALOG, .adcCompBInput = ADC_COMPB_IN_AUXIO2, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = CC1310_LAUNCHXL_DIO29_ANALOG, .adcCompBInput = ADC_COMPB_IN_AUXIO1, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = CC1310_LAUNCHXL_DIO30_ANALOG, .adcCompBInput = ADC_COMPB_IN_AUXIO0, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_10P9_MS, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = PIN_UNASSIGNED, .adcCompBInput = ADC_COMPB_IN_DCOUPL, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = PIN_UNASSIGNED, .adcCompBInput = ADC_COMPB_IN_VSS, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false }, { .adcDIO = PIN_UNASSIGNED, .adcCompBInput = ADC_COMPB_IN_VDDS, .refSource = ADCCC26XX_FIXED_REFERENCE, .samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US, .inputScalingEnabled = true, .triggerSource = ADCCC26XX_TRIGGER_MANUAL, .returnAdjustedVal = false } }; void ADC_Init(void) { /* Call driver init functions */ ADC_init(); } int_fast16_t ADC_GetPowerVol(void) { ADC_Handle adc; ADC_Params params; int_fast16_t res; uint32_t adcValue0MicroVolt; uint16_t adcValue0; ADC_Params_init(¶ms); adc = ADC_open(CC1310_LAUNCHXL_ADCBUF0CHANNEL0, ¶ms); //DIO7 if (adc == NULL) { } /* Blocking mode conversion */ res = ADC_convert(adc, &adcValue0); if (res == ADC_STATUS_SUCCESS) { adcValue0MicroVolt = ADC_convertRawToMicroVolts(adc, adcValue0); ADC_close(adc); return adcValue0MicroVolt; } ADC_close(adc); return -1; }
CC1310是4*4的, 采集管脚是DIO7
ADC采集到的电压跳动很大从800-12000多.
这个是什么问题?
ADC_convertRawToMicroVolts这个函数转换的电压是mV单位吗?