智慧点燃梦想,创新书写人生!!!!
再查看本文时请大家先阅读CC2640R2F手册中的ADC介绍,由于CC2640R2F ADC在GPIO映射时映射到了固定端口,不能像数字外设一样可以任意设置GPIO端口使用,同时CC2640R2F的根据TI的不同封装ADC端口位置也是不一样的,请查看手册都有相应的说明,本驱动时基于CC2640R2F 5XD的封装编写的,如果想改成4XS或7XD的封装只需更改H文件中的宏定义即可,不多说,下面直接给出具体代码(可以使用的):
/***********************************ADC驱动********************************************/
#include <ti/drivers/ADC.h>
#include <ti/drivers/adc/ADCCC26XX.h>
#include <ti/drivers/ADC.h>
#include <ti/drivers/adc/ADCCC26XX.h>
ADCCC26XX_Object cc2640xxadcCC26xxObjects[CC2640R2_LAUNCHXL_ADCCOUNT];
const ADCCC26XX_HWAttrs cc2640xxadcCC26xxHWAttrs[CC2640R2_LAUNCHXL_ADCCOUNT] = {
{
.adcDIO = CC2640R2_LAUNCHXL_DIO7_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO7,
.refSource = ADCCC26XX_VDDS_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = FALSE, //关闭电压缩放最大电压只能采集到1.49V,适合低电压检测
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = 0
},
{
.adcDIO = CC2640R2_LAUNCHXL_DIO8_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO6,
.refSource = ADCCC26XX_VDDS_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = 0
},
{
.adcDIO = CC2640R2_LAUNCHXL_DIO10_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO5,
.refSource = ADCCC26XX_VDDS_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = 0
},
{
.adcDIO = CC2640R2_LAUNCHXL_DIO9_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO4,
.refSource = ADCCC26XX_VDDS_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = AD
{
.adcDIO = CC2640R2_LAUNCHXL_DIO7_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO7,
.refSource = ADCCC26XX_VDDS_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = FALSE, //关闭电压缩放最大电压只能采集到1.49V,适合低电压检测
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = 0
},
{
.adcDIO = CC2640R2_LAUNCHXL_DIO8_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO6,
.refSource = ADCCC26XX_VDDS_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = 0
},
{
.adcDIO = CC2640R2_LAUNCHXL_DIO10_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO5,
.refSource = ADCCC26XX_VDDS_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL,
.returnAdjustedVal = 0
},
{
.adcDIO = CC2640R2_LAUNCHXL_DIO9_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO4,
.refSource = ADCCC26XX_VDDS_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = AD