1.1 配置
APIs位置:
file:///C:/ti/simplelink_cc13x2_26x2_sdk_5_20_00_52/docs/drivers/doxygen/html/_a_d_c_8h.html#ti_drivers_ADC_Examples
syscfg配置:
1.2 代码
在static void ProjectZero_init(void)中添加如下函数
void adc_test(void)
{
// One-time init of ADC driver
ADC_init();
// initialize optional ADC parameters
ADC_Params_init(¶ms_adc);
params_adc.isProtected = true;
// Open ADC channels for usage
adcHandle = ADC_open(CONFIG_ADC_0, ¶ms_adc);
if (adcHandle == NULL) {
// ADC_open() failed
while (1) {}
}
}
在模块驱动示例 的定时器回调函数中添加
int_fast16_t res;
uint16_t adcValue;
uint32_t adcValueUv;
res = ADC_convert(adcHandle, &adcValue);
if (res == ADC_STATUS_SUCCESS)
{
adcValueUv = ADC_convertToMicroVolts(adcHandle, adcValue);
watch_adcValueUv = adcValueUv;
Log_info2("adcValue, Uv: %d, %d", adcValue, adcValueUv);
}
1.3 现象
- 检测DAC输出的电压,如下图,上部分是DAC的code(经过校准),下部分是DAC采集到的电压(纵坐标是电压)
1.4 问题
在IDE窗口中的ADC数值有时候会出来一个异常值
1.5 问题排查及分析
异常值是正常计算的负数值,IDE的Expressions视图及Graph曲线显示视图不能显示负数(已定义类型为带符号类型)